Java虛擬機
Java虛擬機(Java Virtual Machine) 簡稱JVM Java虛擬機是一個想象中的機器,在實際的計算機上經過軟件模擬來實現。Java虛擬機有本身想象中的硬件,如處理器、堆棧、寄存器等,還具備相應的指令系統。
Java語言的一個很是重要的特色就是與平臺的無關性。而使用Java虛擬機是實現這一特色的關鍵。通常的高級語言若是要在不一樣的平臺上運行,至少須要編譯成不一樣的目標代碼。而引入Java語言虛擬機後,Java語言在不一樣平臺上運行時不須要從新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平臺相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就能夠在多種平臺上不加修改地運行。Java虛擬機在執行字節碼時,把字節碼解釋成具體平臺上的機器指令執行。
java虛擬機是一個標準,能夠由不一樣的廠家用不一樣的方式(軟件或硬件)去實現它,只要他們的實現是符合標準便可。
各個不一樣廠家實現的java虛擬機
先來看一下java平臺的結構圖:
JVM與JRE、JDK關係? java
JVM:Java Virtual Machine(Java虛擬機),負責執行符合規範的Class文件 工具
JRE: Java Runtime Environment (java運行環境),包含JVM和類庫 開發工具
JDK: Java Development Kit(java開發工具包),包含JRE和開發工具包,例如javac、javah spa
JVM所處的位置:
操作系統
JVM是java程序與操做系統之間的適配器。 翻譯
由於Java虛擬機的存在,java能夠在不一樣的操做系統平臺上運行。JVM工做時,先讀取由java源碼生成的class字節碼,再把字節碼翻譯成爲JVM所在的操做平臺上可執行的指令。 開發
編譯執行的流程:
get
今天就先寫到這裏。 源碼
剛開始寫的文章,只是我的看法,不足之處請指出。 虛擬機