Serializable 和 Externalizable 接口的区别如下:
编号 | Serializable | Externalizable |
---|---|---|
1 | Serializable 接口没有任何方法,即它是一个标记接口。 | Externalizable 接口包含的不是标记接口,它包含两个方法,即 writeExternal() 和 readExternal()。 |
2 | 用于“标记”Java 类,使这些类的对象可以获得一定的能力。 | Externalizable 接口为程序员提供了对序列化逻辑的控制。 |
3 | 易于实现,但性能成本较高。 | 它用于执行序列化,通常会带来更好的性能。 |
4 | 序列化中不调用类构造函数。 | 使用此接口时,必须调用公共默认构造函数。 |