其他分享
首页 > 其他分享> > 序列化和反序列化

序列化和反序列化

作者:互联网

一、定义

序列化:是指把对象转换为字符串的过程,所用的方法是JSON.stringify();

反序列化:是指把字符串转换为对象的过程,所用的方法是JSON.parse() ;

二、优点

1.可以将对象转为字节流存储到硬盘上,当JVM停机的话,字节流还会在硬盘上默默等待,等待下一次JVM的启动,把序列化的对象,通过反序列化为原来的对象,并且序列化的二进制序列能够减少存储空间,永久性保存对象。

2.序列化成字节流形式的对象可以进行网络传输(二进制形式),方便了网络传输。

3.通过序列化可以在进程间传递对象。

三、缺点

1.无法跨语言

2.序列化后流的长度比通过缓冲区处理要大得多

3.序列化性能太低

四、使用场景

1.分布式传递对象,或则网络传输,需要序列化

2.序列化可以保持对象的状态

3.远程调用,分布式存储,缓存存储

4.我调用你的JVM的方法,结果返回到我的JVM上进行处理

5.数据传输并复原。

6.像银行卡,密码等等这些字段不能被序列化

五、注意事项

1.序列化是,只对对象的状态进行保存,而不管对象的方法。

2.当一个对象的实例变量引用其他对象,序列化该对象时也要把引用对象进行序列化。

3.当一个父类实现序列化,子类自动实现序列化,不需要显式实现接口。

4.并非所有的对象都可以序列化。

 

 

 

标签:存储,字节,对象,传输,JVM,序列化
来源: https://www.cnblogs.com/wj-0921/p/16700535.html