ArrayList源码--序列化反序列化

先看声明transient Object[] elementData;
elementData被声明为transient ,也就是说如果采用默认的序列化方式,elementData不会被序列化。这样设计的原因是,对于初始化为空ArrayList,在添加第一个元素时其长度会被设置成10,对于ArrayList中添加元素小于10个的场景,默认的序列化方式会序列化10个对象(包括null),通过writeObject/readObject的方式避免的空间的浪费。

s.defaultWriteObject();这一步是将ArrayList中除了transient的其他数据序列化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值