1. 程式人生 > 其它 >Mosh_Java筆記 P1-1.1

Mosh_Java筆記 P1-1.1

  1. 方法
  • 方法的定義:訪問修飾符+返回值型別+方法名+(引數列表)+{ }
  1. java 程式碼是如何執行的?
  • 兩個步驟:
    1.編譯(原始碼經過java compiler執行後生成JVM可以理解的位元組碼檔案)
    2.執行(由JVM執行位元組碼檔案)
  1. 以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執行原理

  1. JIT的出現
    在部分商用虛擬機器中(如HotSpot),Java程式最初是通過直譯器(Interpreter)進行解釋執行的,當虛擬機發現某個方法或程式碼塊的執行特別頻繁時,就會把這些程式碼認定為“熱點程式碼”。為了提高熱點程式碼的執行效率,在執行時,虛擬機器將會把這些程式碼編譯成與本地平臺相關的機器碼,並進行各種層次的優化,完成這個任務的編譯器稱為即時編譯器(Just In Time Compiler,下文統稱JIT編譯器)。