为什么用ArrayList的匿名内部子类来初始化集合会有内存溢出的风险?
来源:2-2 实战:购物车案例

洛奇2019
2020-11-21
难道最后的文档里的第一个方法,即传统的先new ArrayList 然后再一个个add的初始化方式就不会导致内存溢出吗?
写回答
1回答
-
这小节的最后,有一个锚点,总结了几种初始化集合的方式。使用双大括号来初始化集合,是会引起内存泄漏的风险,原因就是可能会有引用游离到这个对象的外部,从而造成GC回收不掉这个对象。而内存泄漏是造成内存溢出的其中一个原因。然而如果按照传统的方式,不停往ArrayList中追加元素,最终也是会造成内存溢出。但是这个并不是内存泄漏引起的。
10
相似问题