一个JVM进程启动后会启动哪几个线程?

  • main:执行启动类main()的线程;
  • Reference Handler:处理引用的线程。用于处理引用对象本身(软引用、弱引用、虚引用)的垃圾回收问题;
  • Finalizer:执行对象finalizer()的线程。JVM在垃圾收集时会将失去引用的对象包装成 Finalizer对象(Reference的实现),并放入ReferenceQueue,由Finalizer线程来处理。最后将该Finalizer对象的引用置为null,由垃圾收集器来回收;
  • Attach Listener:负责接收外部命令的线程;
  • Signal Dispatcher:分发处理发送给JVM信号的线程。Attach Listener线程的职责是接收外部JVM命令,当命令接收成功后,会交给Signal Dispatcher线程去进行分发到各个不同的模块处理命令,且返回处理结果。Signal Dispather线程也是在第一次接收外部JVM命令时,进行初始化工作。
posted @ 2021-12-07 14:45  Alfie014  阅读(127)  评论(0)    收藏  举报