一 序列化


1.Java反序列化构造函数是不会执行的


2.在序列化类中,不能使用构造函数为final 变量赋值。


3.反序列化时 final变量在以下情况下不会被重新赋值

    a.通过构造函数为final变量赋值

    b.通过方法返回值为final变量赋值

    c.final 修饰的类型不是基本类型


3.instanceof 只能用于对象的判断 不能用于基本类型

null  instanceof  String  //false

(String)null instanceof String   //false

若左边操作符号是null 直接返回 false;


4.用偶数判断 不用奇数判断


5.防止工具类实例化

    a.构造器私有化

    b.构造器里抛出异常