JVM學習心得體會 (第一天)

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


今天就先寫到這裏。 源碼

剛開始寫的文章,只是我的看法,不足之處請指出。 虛擬機

相關文章
相關標籤/搜索