Java中序列化与反序列化

  • 序列化

把Java对象转换为字节序列的过程。

即一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序 列 化 的 实 现 : 将 需 要 被 序 列 化 的 类 实 现 Serializable 接 口 , 该 接 口 没 有 需 要 实 现 的 方 法 ,implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象,接着,使用 ObjectOutputStream 对象的 writeObject(Object obj)方法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流。

  • 反序列化

把字节序列恢复为Java对象的过程。

  • 应用

对象在进行网络传输(SOCKET)之前需要先被序列化,接收到序列化的对象之后需要再进行反序列化;

将对象存储到文件之前需要进行序列化,将对象从文件中读取出来需要进行反序列化;

将对象存储到数据库之前需要用到序列化,将对象从缓存数据库中读取出来需要反序列化;

将对象存储到内存之前需要进行序列化,从内存中读取出来之后需要进行反序列化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章