为什么ArrayList 重写了自定义序列化的方法,还需要用transient修饰 elementData字段

既然ArrayList 重写了自定义序列话方法,序列化时会自动调用,这个情况下transient 修饰符去掉不是也可以实现不序列化空对象吗。为什么还需要用transient呢。。。。

1个回答

ArrayList 内部有一个数组,数组默认的序列化方式是根据长度序列化,但是List的实际容量未必达到数组长度,为了节约资源提高性能,ArrayList只会对已经存在的值序列化,这就需要自己实现序列化

https://mp.weixin.qq.com/s/a0zq-q8JuSwsLYX7tJ4VxA
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

3
c# ArrayList怎么使用
7
ArrayList 扩容时如何出现内存溢出的情况
6
List的sort()方法这样写对吗?
4
spring如何在Aspect中获取切点注解方法的泛型参数类型
7
【java8】请问一个ArrayList使用stream的map后,会保证原有顺序吗?
9
一个ArrayList中的分数怎么排名次,分数相同名次就相同。
1
怎样获取List的泛型参数,如List<String>?
0
java反射,自动调用方法,方法的返回值类型是不一定的,怎么得到方法的返回值类型的原来的类型!
1
如何把list<Integer> list = new ArrayList<Integer>();真题存入到redis中,使这个list只对应一个key
2
arrayList嵌套arrayList如何取出或者赋值特定子arrayList的值?
2
java中是不是没做同步控制的对象都是线程不安全的???
1
ArrayList多线程添加元素异常,怎么解决
2
ArrayList多线程添加元素异常,怎么解决?
2
为什么泛型类的构造方法使用时要额外加<泛型>
3
急!!!使用shiro+ssm时自定义Realm项目运行报错
1
list集合遍历采用的是ArrayList还是LinkList问题?
2
打印集合中的自定义类时, 如何显示出自定义类成员变量的值?
1
为什么ServletFileUpload的parseRequest方法返回值只能用List接受?
1
分别创建一个ArrayList和LinkedList,用Dog类的多个实例来填充此容器。
3
为什么ArrayList用set之后,运行出来是这样的?(麻烦大神帮忙解释一下,刚接触编程不太懂)