小编sol*_*ons的帖子

为什么SoftReference会出现OutOfMemory?

在创建如此多的强引用时会出现OOM错误,因为GC不会收集强引用,但如果没有额外的内存,GC将收集弱引用.所以我的问题是:我设置一个循环来创建弱参考-Xmx2M

Set<SoftReference<Integer>> sa = new HashSet<~>();
for (int i = 0; i < size; i++) {
     SoftReference<Integer> ref = new SoftReference<Integer>(i);
     sa.add(ref);
}
Run Code Online (Sandbox Code Playgroud)

它仍然发生在OOM,为什么?

java jvm out-of-memory

1
推荐指数
1
解决办法
99
查看次数

标签 统计

java ×1

jvm ×1

out-of-memory ×1