【发布时间】:2014-06-23 18:52:50
【问题描述】:
这段代码:
while (true) {
new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
return null;
}
};
}
让 JVM 很快耗尽内存。
为什么?
【问题讨论】:
-
你有一个创建对象的无限循环:你期望什么?
-
我希望 GC 收集未使用的引用。
-
与
ThreadFactory无关。对于大多数其他类,您也会看到类似的效果。 -
@ben:GC 怎么知道它们没有被使用?你永远不会退出他们存在的范围。
-
@ben 我已经更新了我之前的答案,因为我认为它不正确。如果它仍然是热门话题,请查看它。
标签: multithreading memory-leaks