外出旅行、冬季保暖得常备户外袜、速干袜、加厚袜子哦。

猛戳乐途驿站http://zhoupa1188.taobao.com抢购品牌男女式加厚户外袜子,coolmax、全棉、保暖、吸汗、速干、登山、徒步袜子。满10包邮


谢炜的cnblogs

CSDN上比较完整:http://hi.csdn.net/xiefeifeihu

导航

序列化:Serializable和Externalizable

Externalizable是深度定制序列化。如果同时实现了这两个接口,则只会执行Externalizable。

 

Serializable可以仅仅标记可序列化,使用JDK默认的序列化方法,也可以定制。实现方法:

    private void writeObject(ObjectOutputStream oos) {
//        oos.defaultWriteObject();
        // Write/save additional fields
        oos.writeUTF(value);
    }


    private void readObject(ObjectInputStream ois) {
//        ois.defaultReadObject();
        // Read/initialize additional fields
        value = ois.readUTF()
    }

Externalizable必须实现方法:

 

    void writeExternal(ObjectOutput out) {
        out.writeUTF(value)
    }

    void readExternal(ObjectInput input) {
        value = input.readUTF()
    }

 

如果实现是深度定制序列化,但是用Serializable的writeObject方法实现,它不一定起作用。

 

注意几点:

1、静态static成员不被序列化

2、如果一个可序列化的对象包含对某个不可序列化的对象的引用,那么整个序列化操作将会失败,并且会抛出一个NotSerializableException

3、transient修饰的字段不被序列化

4、父类如果不可序列化,子类不会序列化父类的成员,除非在子类中显式序列化。父类可序列化,子类也需要调用super的序列化方法。

posted on 2012-08-29 15:23  飞飞狐  阅读(171)  评论(0编辑  收藏  举报

外出旅行、冬季保暖得常备户外袜、速干袜、加厚袜子哦。

猛戳乐途驿站http://zhoupa1188.taobao.com抢购品牌男女式加厚户外袜子,coolmax、全棉、保暖、吸汗、速干、登山、徒步袜子。满10包邮