一、定义
序列化:是指把对象转换为字符串的过程,所用的方法是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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。