1. 程式人生 > >第一節Java的執行原理

第一節Java的執行原理

                                        Java執行原理

一、概念

  • 在Java中引入了虛擬機器的概念,在編譯程式和機器之間加入了一層抽象的虛擬的機器。

  • 這臺虛擬的機器在任何平臺上都提供給編譯程式一個共同的介面。編譯程式只需向虛擬機器生成虛擬機器能夠理解的程式碼,然後由直譯器來把虛擬機器程式碼轉換為特定系統的機器碼執行。

  • 在Java中,這種供虛擬機器理解的程式碼叫做位元組碼(class檔案的內容),它不面向任何特定的處理器。

  • Java源程式經過編譯器編譯後變成位元組碼,位元組碼由虛擬機器解釋執行,虛擬機器將每一條要執行的位元組碼送給直譯器。

  • 直譯器將其翻譯成特定機器上的機器碼,然後在特定的機器上執行。

  • 執行過程  java編譯器 (javac編譯) → 虛擬機器(解釋執行) →  直譯器(jvm翻譯) → 機器碼 

  • 編譯器:把源程式的每一條語句都編譯成機器語言,並儲存成二進位制檔案,這樣執行時計算機可以直接以機器語言來執行此程式,速度很快

  • 直譯器:只在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以執行速度是不如編譯後的程式執行的快的

二、JRE 和 JDK

  • JRE:java執行時環境,包含了java虛擬機器,JVM,java基礎類庫。是使用java語言編寫的程式執行所需要的軟體環境。
  • JDK:java開發工具包,是程式設計師使用java語言編寫java程式所需的開發工具包。​​​​​​​

三、執行流程圖