7
在我的機器上啓動一個JVM實例,用一個簡單的類main()
運行無限的睡眠,我看到四個關鍵線程(除了主線程)在JVM:JVM芯線
- 連接監聽器
- 參考處理程序
- 終結
- 信號分派器
- DestroyJavaVM
我很想知道每個核心JVM線程的目的。從快速的互聯網搜索,我發現這些線程以下細節:
- 附加監聽:動態連接在 目標JVM的連接監聽線程。這是在發生第一個附加請求時啓動的線程。
- 信號調度程序:當OS向JVM發出信號時,信號調度程序線程會將信號傳遞給合適的 處理程序。
- 參考處理程序:高優先級線程排隊掛起 參考。 GC創建一個簡單的參考鏈接列表,其中需要處理 ,並且該線程將其快速添加到正確的 隊列中,並通知ReferenceQueue偵聽器。
- 終結者:終結器線程調用終結器方法。
- DestroyJavaVM:此線程在程序退出時卸載Java VM。大部分時間應該等待。
我想知道關於這些線程和參考文檔(如果知道)的更多細節(或理解的更正)。
那麼「attach listner」是否也在某個特定的端口中偵聽?如果是,那麼它是哪一個? – sactiw