Mosh_Java筆記 P1-1.1
阿新 • • 發佈:2022-03-17
- 方法
- 方法的定義:訪問修飾符+返回值型別+方法名+(引數列表)+{ }
- java 程式碼是如何執行的?
- 兩個步驟:
1.編譯(原始碼經過java compiler執行後生成JVM可以理解的位元組碼檔案)
2.執行(由JVM執行位元組碼檔案)
- 以Hello.java的執行舉例:
-
首先hello.java檔案,經過java編譯器(命令為javac+完整的.java路徑檔案)生成JVM可以識別的.class位元組碼檔案,再由JVM執行位元組碼檔案轉換為計算機可以識別的機器碼執行(命令為java+.class檔案)。
-
在一開始,hello.java存放在硬碟中,編譯器執行生成後的位元組碼檔案也是存於硬碟當中。而當位元組碼檔案一旦執行,jvm就會建立一個程序,呼叫其自身的位元組碼執行引擎,來將這些類的內容載入進入記憶體,所以程式想要執行,必須由JVM將內容載入進入記憶體,進入記憶體的內容都是以二進位制的形式存在。
1.javac-version -結果顯示的是JDK的版本
2.java-version -結果顯示的是jvm的版本
JVM執行原理
- JIT的出現
在部分商用虛擬機器中(如HotSpot),Java程式最初是通過直譯器(Interpreter)進行解釋執行的,當虛擬機發現某個方法或程式碼塊的執行特別頻繁時,就會把這些程式碼認定為“熱點程式碼”。為了提高熱點程式碼的執行效率,在執行時,虛擬機器將會把這些程式碼編譯成與本地平臺相關的機器碼,並進行各種層次的優化,完成這個任務的編譯器稱為即時編譯器(Just In Time Compiler,下文統稱JIT編譯器)。