7
在我的机器上启动一个JVM实例,用一个简单的类main()
运行无限的睡眠,我看到四个关键线程(除了主线程)在JVM:JVM芯线
- 连接监听器
- 参考处理程序
- 终结
- 信号分派器
- DestroyJavaVM
我很想知道每个核心JVM线程的目的。从快速的互联网搜索,我发现这些线程以下细节:
- 附加监听:动态连接在 目标JVM的连接监听线程。这是在发生第一个附加请求时启动的线程。
- 信号调度程序:当OS向JVM发出信号时,信号调度程序线程会将信号传递给合适的 处理程序。
- 参考处理程序:高优先级线程排队挂起 参考。 GC创建一个简单的参考链接列表,其中需要处理 ,并且该线程将其快速添加到正确的 队列中,并通知ReferenceQueue侦听器。
- 终结者:终结器线程调用终结器方法。
- DestroyJavaVM:此线程在程序退出时卸载Java VM。大部分时间应该等待。
我想知道关于这些线程和参考文档(如果知道)的更多细节(或理解的更正)。
那么“attach listner”是否也在某个特定的端口中侦听?如果是,那么它是哪一个? – sactiw