JVM的生命周期——JVM之二


一、首先分析兩個概念 

JVM實例和JVM執行引擎實例

1JVM實例對應了一個獨立運行的java程序——進程級別

  一個運行時的Java虛擬機(JVM)負責運行一個Java程序。

  當啟動一個Java程序時,一個虛擬機實例誕生;當程序關閉退出,這個虛擬機實例也就隨之消亡。

  如果在同一台計算機上同時運行多個Java程序,將得到多個Java虛擬機實例,每個Java程序都運行於它自己的Java虛擬機實例中。

2JVM執行引擎實例則對應了屬於運行程序的線程——線程級別

 

二、JVM的生命周期

    1JVM實例的誕生

            當啟動一個Java程序時,一個JVM實例就產生了,任何一個擁有public static void main(String[] args)函數的class都可以作為JVM實例運行的起點 

    2JVM實例的運行

         main()作為該程序初始線程的起點,任何其他線程均由該線程啟動。JVM內部有兩種線程:守護線程和非守護線程,main()屬於非守護線程,守護線程通常由JVM自己使用,java程序也可以標明自己創建的線程是守護線程。   http://www.cnblogs.com/super-d2/p/3348183.html

    3JVM實例的消亡

      當程序中的所有非守護線程都終止時,JVM才退出;若安全管理器允許,程序也可以使用java.lang.Runtime類或者java.lang.System.exit()來退出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM