繁体   English   中英

Java-ThreadFactory内存泄漏?

[英]Java - ThreadFactory memory leak?

这段代码:

    while (true) {
        new ThreadFactory() {
            @Override
            public Thread newThread(Runnable r) {
                return null;
            }
        };
    }

使JVM非常快地耗尽内存。

为什么?

我尝试使用默认选项在Windows 7上使用JRE 1.7.0_60 x86_64运行此代码,结果如下:

  1. 照原样运行作者的代码似乎根本不执行任何分配,这很可能是因为JIT检测到未使用的引用。
  2. 将创建的threadFactory输出到System.out的代码的修改版本导致“锯状”堆使用模式:

在此处输入图片说明

这意味着分配和垃圾回收都会发生。

回到您的问题:我认为您错过了代码的重要部分,或者将-Xmx设置为极低的值,或者是其他原因。 不过,您发布的代码还可以。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM