一、谨慎地实现Serializable接口

  1、一旦一个类被发布,就大大地降低了“改变这个类的实现”的灵活性。

  2、仔细设计类的序列化形式而不是接受类的默认虚拟化形式。

  3、反序列化机制是一个“隐藏的构造器”,具备与其他构造器相同的特点。

二、考虑使用自定义的序列化形式

三、保护性地编写readObject方法

  1、对于对象引用域必须保持为私有的类,要保护性地拷贝这些域中的每个对象。

  2、检查失败要抛出InvalidObjectException异常,检查应该跟在所有的保护性拷贝之后

  3、无论直接还是间接,都不要调用类中任何可覆盖的方法。

四、对于实例控制,枚举类型优先于readResolve方法

五、考虑用序列化代理代替序列化实例

  

  

  

最新文章

  1. JavaScript toFixed 用法
  2. web接口开发与测试
  3. SQL Server 跨库同步数据
  4. Android 颜色Color(转)
  5. 记一下ajax里get与post的异同
  6. 如何设置Grunt
  7. beego路由实现原理
  8. pycharm中添加扩展工具pylint
  9. javaWEB与JSP指令
  10. 洛谷 P1876 开灯(思维,枚举,规律题)
  11. C语言内嵌汇编(arm-v7)----加减乘移位
  12. 基于uniGui开发的Delphi后台管理框架uniFramework
  13. 【中间件安全】WebSphere安全加固规范
  14. range的新发现
  15. TensorFlow读取CSV数据(批量)
  16. android-------Android Studio使用MAT分析工具遇到的错误
  17. MapReduce-皮尔逊(Pearson)线性相关
  18. 队列的实现——c++
  19. linux mint 19安装 kvm 软件包
  20. LWIP网络接口管理

热门文章

  1. POJMatrix(二维树状数组)
  2. MySQL------Navicat激活方法
  3. python实现软件的注册功能(机器码+注册码机制)
  4. 根据wsdl文件生成webservice 的.cs文件 及 生成dll C#调用
  5. Java——其他容器
  6. DllMaps
  7. ecshop 订单编号 get_order_sn
  8. Python基础之【第二篇】
  9. SpringMVC -rest风格修改删除
  10. mysql中获取一天、一周、一月时间数据的各种sql语句写法