既然ArrayList 重写了自定义序列话方法,序列化时会自动调用,这个情况下transient 修饰符去掉不是也可以实现不序列化空对象吗。为什么还需要用transient呢。。。。
ArrayList 内部有一个数组,数组默认的序列化方式是根据长度序列化,但是List的实际容量未必达到数组长度,为了节约资源提高性能,ArrayList只会对已经存在的值序列化,这就需要自己实现序列化
https://mp.weixin.qq.com/s/a0zq-q8JuSwsLYX7tJ4VxA