
序列化实际上是在
java.io.ObjectOutputStream(和java.io.ObjectInputStream)及其一些帮助器类中实现的。在许多情况下,这种内置支持就足够了,开发人员只需要实现marker接口
Serializable。该接口称为“标记”,因为它没有声明任何方法,因此在实现类上不需要任何特殊的API。
如果需要,程序员可以使用自己的方法添加或替换默认的序列化机制。例如,如果在反序列化对象后需要一些其他初始化,则可以添加带有以下签名的方法:
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, java.lang.ClassNotFoundException
要完全控制序列化和反序列化,请使用
java.io.Externalizable代替
Serializable。
如果需要,Java序列化中还有许多其他扩展点。该序列化规范是学习所有这些的权威性和完整的源代码。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)