【发布时间】:2014-07-11 17:54:30
【问题描述】:
在我的应用程序启动期间,查询数据库,创建对象(根据查询结果)并插入到 Arraylist 中。数组列表稍后被循环并从中创建另一个数据结构。数组列表(大小很大)稍后会被垃圾收集。我的问题是,一次收集这么大的对象是否会对垃圾收集器造成压力。如果我创建一个 QUEUE 数据结构而不是 arraylist。从队列中读取对象将使它们有资格进行 GC。对 GC 的压力是否较小?我知道 GC 可以随时运行,并且不能保证它的执行。除了执行时间之外,我想了解的是,GC 从内存的连续位置(数组列表)收集与 QUEUE 相比是否需要更多的工作,其中内存分配不连续?
【问题讨论】:
标签: java arraylist garbage-collection queue