出于好奇,我编写了Hello World并在我的打印声明中设置了一个断点.
public class Program
{
public static void main(String[] args)
{
System.out.println("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
当突破点被击中时,我在Windows中启动了任务管理器以查看该JVM进程分配了多少线程.我很震惊地看到22.为什么这个简单程序产生了这么多线程?
JVM使用一些守护程序线程(例如垃圾收集器,终结器等......).但是,在这种情况下,附加调试器实际上创建了一些线程来处理调试器连接.
另外,仅供参考,刚刚发现 JVM 将至少分配n 个线程给 GC,其中n是核心数。来源:http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#par_gc。这解释了我的8个。
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |