java程式碼是如何被機器辨識的?
首先,Java作為一門高階程式語言,其語法非常複雜,直接將 Java 程式碼丟給機器,而機器是無法辨識 Java 程式碼的。所以,對於Java語言來說,首先是使用編譯器將我們的Java 原始碼(.java檔案)編譯成字節碼檔案(.class檔案),之後再使用虛擬機器(JVM)將字節碼翻譯成機器碼,最後機器碼才能被機器辨識並執行。
請看下圖:
(免費學習影片教學推薦:java影片教學)
#解釋如下:
其實JVM 是無法直接執行字節碼檔案的,JVM 需要將字節碼翻譯成機器碼才可以執行對應的程式碼邏輯。在HotSpot 虛擬機器中,有兩種翻譯形式:第一種是解釋執行,即逐條將字節碼翻譯成機器碼並執行;第二種是即時編譯(Just-In-Time compilation,JIT),即將一個方法中包含的所有字節碼編譯成機器碼後再執行。這兩種方式各有優劣。
解釋執行的優點是無須等待編譯,立刻可以執行。而即時編譯的優點在於實際運行速度更快。在 HotSpot 虛擬機器中預設採用混合模式,綜合了解釋執行和即時編譯兩者的優點。它會先解釋執行字節碼,而後將其中反覆執行的熱點程式碼,以方法為單位進行即時編譯。
Java 虛擬機器執行 Java 位元組碼的時候,首先會將字節碼檔案載入到記憶體中,之後將載入後的 Java 類別存放到方法區(Method Area)中。實際運行時,虛擬機會執行方法區中的程式碼。
在運行過程中,每次進入一個 Java 方法,Java 虛擬機會在目前執行緒的 Java 方法堆疊中產生一個堆疊幀,以存放局部變數以及字節碼操作數。當退出目前執行方法時,無論正常返回或異常返回,Java 虛擬機器都會彈出目前執行緒的目前堆疊幀,並將其丟棄。
相關文章教學推薦:java入門教學
#以上是java程式碼是如何被機器辨識的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版
好用的JavaScript開發工具