Effecitive 读书笔记

来源:互联网 发布:乐乎网页版 编辑:程序博客网 时间:2024/05/23 17:04

第十一章 序列化

序列化:

作用是:将对象编码成字节流(这一个过程就叫做对象序列化Serializing,相反的过程称为反序列化),并从字节流编码中重新构建对象。

这样的编码可以从一台正在运行的虚拟机被传递到另一台虚拟机上,或者被存储到磁盘上,供以后反序列化时用。

序列化技术为远程通信提供了标准的线路级对象表示法,也可以为javabeans组件结构提供了标准的持久化数据格式。

警示1:谨慎地实现Serializable接口。

虽然对一个类进行序列化的直接开销非常低,但是为了序列化而付出的长期开销往往是实实在在的。

实现Serializable接口的最大代价:一旦一个类被发布,就大大降低了“改变了这个类的实现”的灵活性。

实现序列化的第二个代价:增加了出现Bug和安全漏洞打分可能性。

第三个代价:随着类发行新的版本,相关的测试负担也增加了。必须要确保序列化和反序列化的过程成功。

实现序列化接口不是一个很轻松就可以做出的决定。

为了继承而设计的类,应该尽可能少地去实现Serializable接口,用户的接口也同样。



0 0
原创粉丝点击