java序列化与反序列是什么?为什么需要序列化与反序列化?如何实现序列化与反序列化?我们就这几个问题好好研究一下,在一次面试中涉及到了,所以特做了这次笔记。
1.java序列化与反序列化
java序列化是指把java对象转换成字节序列的过程;而java反序列化是指把字节序列恢复到java对象的过程。
2.为什么需要序列化与反序列化
我们知道当2个进程需要远程通信时,可以相互发送各种类型的数据,包括文本,图片,音频,而这些数据都可以以二进制序列的形式在网上上传输,那么当2个进程进行通信时,能否实现进程间的对象传送呢?当然是可以的。如何做到的呢?这就需要java序列化与反序列化。换句话说,一方面,发送方需要把java对象转换成字节序列,然后在网络上传送;另一方面,接收方需要把字节序列恢复到java对象。
3.java序列化与反序列化的好处
好处一:实现了数据的持久化,通过序列化可以把数据永久保存到硬盘上(通常是保存在文件里)
好处二:利用序列化实现远程通信,即在网络上传送对象的序列化
4.如何实现序列化与反序列化
为了更好地理解Java序列化与反序列化,选择方法一编码实现。
Student类定义如下:
把Student类的对象序列化到文件O:\\Java\\com\\jieke\\io\\student.txt,并从该文件中反序列化,向console显示结果。代码如下:
总结:1)java序列化就是把对象转换成字节序列;而反序列化就是把字节序列转换成java对象
2)采用java序列化与反序列化,一是可以实现数据的持久化,二是可以对象数据的远程通信。