序列化

案例:

为了研究人体冷冻,科学家们需要建一些特殊用途的“农场”,里面安上生产液态氮的装置。

人体冷冻这项服务对大多数人来说或许是很经济的:冷冻一个人体的价格大约为2000美元。经过这样处理的人实际上便停止了死亡。

这种想法在20年后也许真的会变成现实。

1. 了解Serializaable原理

  编码实现一个类的序列化

    关键代码:

public static void main(String[] args) throws Exception{
        Student stu = new Student();
        
        File file = new File("bb.dat");
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
        oos.writeObject(stu);
}

从上例中可以看出,我们将一个对象进行冷冻,是将其写到一个文件中。

  编码实现一个类的反序列化

    关键代码:

public static void main(String[] args) throws Exception{
        File file = new File("bb.dat");
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
        Object obj = ois.readObject();
        System.out.println(obj.hashCode());
}

从上例中可以看出,对象的反序列化(解冻),实际上就是将对象从文件中读到内存中。

Transient关键字

  它的作用是,在字段级别上关闭序列化功能。 比如某些时候可能不需要序列化一些敏感信息。

心得:

  一个人的知识,通过学习可以得到;

  一个人的成长,就必须通过磨练。

  若是自己没有尽力,就没有资格批评别人不用心。

  开口抱怨很容易,但是闭嘴努力的人更加值得尊敬。

    努力成长吧 朋友!

                                                  写于2020年9月2日。

  

  

原文地址:https://www.cnblogs.com/worth-/p/13603239.html