序列化和反序列化
作者:互联网
一、定义
序列化:是指把对象转换为字符串的过程,所用的方法是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