首頁>Club>
14
回覆列表
  • 1 # 灝天居士

    1.jvm的生命週期

    一個執行時的的java虛擬機器例項的天職就是執行一個java程式。

    1.1.JVM例項的誕生

            當一個程式啟動,伴隨的就是一個jvm例項的誕生,當這個程式關閉退出,這個jvm例項就隨之消亡。如果在同一臺機器上執行多個程式,將誕生相應數量的jvm例項,每個程式都有一個與之對應的jvm例項供其執行。任何一個擁有公開的(public)、靜態的(static)、沒有返回值(void)並且接受一個字串陣列引數(String[] args) 的main()函式的class都可以作為JVM例項執行的起點 。

    1.2.JVM例項的執行

             main()作為該程式初始執行緒的起點,任何其他執行緒均由該執行緒啟動。JVM內部有兩種執行緒:守護執行緒和非守護執行緒,main()屬於非守護執行緒,守護執行緒通常由JVM自己使用,java程式也可以標明自己建立的執行緒是守護執行緒。java程式的初始執行緒 只就是執行main()的執行緒,這個執行緒是非守護執行緒,只要還有任何非守護執行緒還在執行,那麼jvm就存活著。

    1.3.JVM例項的消亡

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

  • 中秋節和大豐收的關聯?
  • 同意結婚,女朋友拒絕同居,是什麼心理?