Java序列化与不序列化的区别:序列化就是通过网络中的管道,切成一个一个小的数据包(有编号,拆分)放到硬盘文件。一个个小的数据包(组装)恢复到内存中,就是反序列化。
一、定义
序列化的原本意图是希望对一个Java对象作一下“变换”,变成字节序列,这样一来方便持久化存储到磁盘,避免程序运行结束后对象就从内存里消失,另外变换成字节序列也更便于网络运输和传播。
序列化(Serialize):内存当中的java对象放到硬盘文件中,java对象存储到文件中,将java对象的状态保存下来的过程,需要使用ObjectOutputStream类。
反序列化(DeSerialize):将硬盘上的数据重新恢复到内存中,恢复成java对象。需要使用ObjectInputStream类。
二、区别
通俗的说,序列化就是通过网络中的管道,切成一个一个小的数据包(有编号,拆分)放到硬盘文件。一个个小的数据包(组装)恢复到内存中,就是反序列化。
或者也可以这样理解,序列化是指把一个Java对象变成二进制内容,因为要在网络中传输,而且要快便捷,本质上是一个byte[]数组,序列化后可以将其数组保存到网络中传输。反序列化,即把一个二进制内容(也就是byte[]数组)变回Java对象。
延伸阅读
java序列化的作用
1、方便在远程调用时对象的解码与编码,就像new对象之间直接调用,不需要像传输对象之间像JSON转换一样转来转去
2、序列化的能力:为了在程序中能直接以对象的形式进行保存,直接进行调用
3、对象可以自定义存储格式
文章标题:Java序列化与不序列化有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37756