Java面向對象(OOP)概念
Java面向對象(OOP)概念
Java命名約定
Java對象和類
Java構造器(構造方法)
Java static關鍵字
Java this關鍵字
Java繼承
Java聚合
Java方法重載
Java方法重寫
Java super關鍵字
Java實例初始化程序塊
Java final關鍵字
Java多態
Java靜態綁定和動態綁定
Java instanceof運算符
Java抽象類
Java接口
Java抽象類和接口的區別
Java包
Java訪問修飾符
Java封裝
Java Object類
Java對象克隆
Java數組
Java包裝類
Java按值調用和引用調用
Java strictfp關鍵字
Java命令行參數
對象和類之間的區別
java中方法重載和方法重寫的區別
Java虛擬機內部體系結構
JVM(Java虛擬機)是一個抽象機器。 它是一個提供可以執行Java字節碼的運行時環境的規範。JVM可用於許多硬件和軟件平臺(即JVM是平臺相關的)。
什麼是JVM?
JVM(Java虛擬機)是:
指定Java虛擬機的工作的規範。 但實現提供程序是獨立的選擇算法。 其實現是由Sun和其他公司提供。
它的實現被稱爲JRE(Java運行時環境)。
運行時實例只要在命令提示符上編寫java命令來運行java類,就會創建JVM的實例。
JVM(Java虛擬機)能做什麼?
JVM執行以下操作:
- 加載代碼
- 驗證代碼
- 執行代碼
- 提供運行時環境
JVM提供了以下定義:
- 內存區
- 類文件格式
- 寄存器集合
- 垃圾收集堆
- 致命錯誤報告等
JVM(Java虛擬機)內部體系結構
下面讓我們來了解JVM的內部架構。它包含類加載器,內存區域,執行引擎等。
1)類加載器
Classloader
是JVM的一個子系統,用於加載類文件。
2)類(方法)區域
類(方法)區域存儲每個類結構,例如運行時常量池,字段和方法數據,方法的代碼。
3)堆
它是分配對象的運行時數據區。
4)堆棧
Java堆棧存儲幀。它保存局部變量和部分結果,並在方法調用和返回中起作用。
每個線程都有一個私有JVM堆棧,同時創建線程。每次調用方法時都會創建一個新的框架。 框架在其方法調用完成時被銷燬。
5)程序計數器寄存器
PC(程序計數器)寄存器。 它包含當前正在執行的Java虛擬機指令的地址。
6)本地方法堆棧
它包含應用程序中使用的所有本地方法。
7)執行引擎
執行引擎包含:
- 虛擬處理器
- 解釋器:讀取字節碼流,然後執行指令。
- 即時(JIT)編譯器:它用於提高性能,JIT編譯的同時有類似字節代碼部分的功能,從而減少編譯所需的時間。編譯器是指從Java虛擬機(JVM)的指令集到特定CPU的指令集的轉換器。