Java虛擬機教程

Java虛擬機是一個虛擬機,一個具有自己的ISA,自己的記憶體,棧,堆等的抽象電腦。它是一個管理系統記憶體並在運行時環境中驅動Java代碼或應用程式的引擎。 它在主機操作系統上運行,並將對資源的需求放在作操作系統之上。

面向讀者

本教程適用於希望在任何操作系統或設備上運行其Java代碼和其他應用程式,以及優化和管理程式記憶體的軟體專業人員。

提前條件

在開始學習本教學之前,我們假設您對Java編程有基本的瞭解。 如果您不熟悉這些概念,建議您首先閱讀Java編程教學,以瞭解本教程中提到的主題。

內容目錄

  • Java虛擬機(JVM)簡介 - JVM是一個規範,只要它們符合規範,就可以有不同的實現。
  • Java虛擬機(JVM)架構 - 執行引擎包括垃圾收集器和JIT編譯器。JVM有兩種形式 - 客戶端和服務器。這兩者共用相同的運行時代碼,但使用的是JIT。
  • Java虛擬機(JVM)類加載器 - JVM以動態方式管理加載,鏈接和初始化類以及介面的過程。在加載過程中,JVM查找類的二進位表示並創建它。
  • Java虛擬機(JVM)運行時數據區 - JVM規範定義了在執行程式期間所需的某些運行時數據區域。其中一些是在JVM啟動時創建的。其他是線程本地的,只有在創建線程時才會創建(並線上程被銷毀時銷毀)。
  • Java虛擬機(JVM)JIT編譯器 - 在本章中將學習JIT編譯器,以及編譯語言和解釋語言之間的區別。
  • Java虛擬機(JVM)編譯級別 - JVM支持五種編譯級別 - 編譯器;C1完全優化(無分析);帶調用和後沿計數器的C1(輕型分析);C1具有完整的分析;C2(使用前面步驟中的分析數據);
  • Java虛擬機(JVM)32b與64b - 在32b機器上,只能安裝32b版本的JVM。在64b機器上,用戶可以選擇32b和64b版本。但是這有一些細微差別會影響Java應用程式的運行方式。
  • Java虛擬機(JVM)JIT優化 - 在本章中,我們將介紹JIT如何優化。
  • Java虛擬機(JVM)垃圾收集 - Java對象的生命週期由JVM管理。當程式代碼中創建了一個對象以後,不必擔心它生命週期的其他部分。JVM將自動查找那些不再使用的對象,並從堆中回收它們的記憶體。
  • Java虛擬機(JVM)分代GC - 大多數JVM將堆分為三代 - 年輕一代(YG),老一代(OG)和永久一代(也稱為終身代)。
  • Java虛擬機(JVM)調整GC - 在本章中將討論如何調整GC。堆大小是Java應用程式性能的重要因素。如果它太小,那麼它將經常被填充,因此,必須經常由GC收集。另一方面,如果只增加堆的大小,雖然它需要不那麼頻繁地收集,但是暫停的長度會增加。

開始學習 >> :Java虛擬機(JVM)簡介