[TOC]
# Java 的運行原理

> 在 Java 中引入了虛擬機的概念。
即在機器和編譯程序之間加入了一層抽象的虛擬的機器。這臺虛擬的機器在任何平臺上都提供給編譯程序一個的共同的接口。
編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然后由解釋器來將虛擬機代碼轉換為特定系統的機器碼執行。在 Java 中,這種供虛擬機理解的代碼叫做**字節碼\(ByteCode\)(class 文件的內容)**,它不面向任何特定的處理器,只面向虛擬機。
**Java 源程序經過編譯器編譯后變成字節碼,字節碼由虛擬機解釋執行,虛擬機將每一條要執行的字節碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,然后在特定的機器上運行。**