序列化和反序列化

一、定义

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

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

二、优点

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

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

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

三、缺点

1.无法跨语言

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

3.序列化性能太低

四、使用场景

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

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

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

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

5.数据传输并复原。

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

五、注意事项

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

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

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

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

 

 

 

posted @   zwj1211  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示