JVM - 整體結構

今天你學習了麼發表於2020-10-25

1. 整體結構

在這裡插入圖片描述

2. JVM的生命週期

虛擬機器的啟動
Java虛擬機器的啟動是通過引導類載入器建立一個初始類來完成的,這個類是由虛擬機器的具體實現指定的

當我們執行一段java程式碼的時候,必須先載入這個類,類載入器是用來負責讀取 Java 位元組程式碼,並轉換成java.lang.Class類的一個例項;
而在夾在當前類的時候要把父類給載入了,一層一層往上就通過引導類載入器建立一個初始類,啟動了java虛擬機器

虛擬機器的執行

  • 一個執行的java虛擬機器有著一個清晰的任務:執行java程式
  • 程式開始執行時他才執行,程式結束時他就停止
  • 執行一個所謂的java程式的時候,真正執行的是一個叫做java虛擬機器的程式

虛擬機器的停止

  • 程式正常執行結束
  • 程式在執行的過程中遇到錯誤或異常而終止
  • 由於作業系統出現錯誤而導致java虛擬機器程式終止
  • 某執行緒呼叫Runtime類或者System類的exit方法,或Runtime類的halt方法,並且java安全管理器允許這次的exit或halt操作
  • 除此之外,JNI(Java Native Interface)規範描述了用JNI Invocation API來載入或解除安裝Java虛擬機器時,Java虛擬機器的退出情況

相關文章