Effective Java - 谨慎地实现Serializable接口

        作为Java自带的一个序列化方式,实现Serializable接口就可以对类进行序列化,不过,书中列举了许多这种方式的问题。

        1、实现Serializable接口而付出的最大代价是,一旦一个类被发布,就大大降低了“改变这个类的实现的灵活性”;

        2、实现Serializable接口第二个代价是增加了出现Bug和安全漏洞的可能性;

        3、实现Serializable接口第三个代价是随着类发行新的版本,相关测试负担也会增加;

        4、实现Serializable接口并不是一个很轻松就可以做出的决定;

        5、为了继承而设计的类减少实现实现Serializable接口,用户的接口也尽可能少继承Serializable接口;

        6、内部类不应该实现Serializable接口。

        上面的1、3、5其实可以一起说一下,因为通过实现Serializable接口来进行的序列化其实有一个问题,就是你的子类或者父类都需要实现Serializable接口。不然在序列化之后整个对象是会出现数据缺失而导致Bug。也由于这个原因,对于测试来说每次新的测试也要多考虑有没有序列化成功的问题。关于实现Serializable接口进行序列化因为之前使用中出过一次TT,所以认识到了相对应的不足,现在更常使用JsonUtils来进行序列化。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容