java運行原理
jvm 一個解釋器組件,可以實現Java字節碼和計算機操作系統之間的通信。
一組寄存器、
一個棧、
一個垃圾回收堆
一個存儲方法域
編譯時 .java源代碼 -----》 .class字節碼
運行時 類加載器 -----》字節碼校驗器 ------》 解釋器|JIT代碼生成器 ----》硬件
VM屏蔽了與具體操作系統平臺相關的信息,使Java程序只需生成在Java虛擬機上運行的字節碼,就可以在多種平臺上不加修改地運行。這個也是java最大的特色跨平臺性,也就是一處編寫,處處運行。JVM在執行字節碼時,實際上最終還是把字節碼解釋成具體平臺上的機器指令執行。編譯虛擬機的指令集與編譯微處理器的指令集非常類似。這就是java最受人批評的一個地方,運行在JVM上面當然沒有直接運行在操作系統上快。所以有人總是說java的運行速度比不上C語言。