java的運作過程實質?
源代碼被編譯然後被解釋成機器語言
源代碼--->編譯器--->位元組碼--->解釋器---機器碼
.java--->Compiler--->.class--->Interpreter---Machine code
生米--->鍋--->熟飯--->筷子---品嘗
Compiler+Interpreter構成JVM虛拟機的基本功能
靜下來分析可以發現java的整個運作過程隻是把生米用鍋煮成熟飯最後用筷子吃
源代碼就是生米(沒有正常人會把生米拿來吃吧?)
編譯器就是鍋(有各種型号的鍋,但目的都一樣:加工食材)
位元組碼就是熟飯(熟飯還是要用工具來進食的)
解釋器就是筷子(就像有些人隻食口前飯)
機器碼就是品嘗過程了
整個過程JVM負責2次轉譯,可以看出效率并不高,但是正是因為他的存在才讓JAVA可以一次編寫,随處可用
提一個不專業的疑問:
可否将JVM看成給每個平台都是定制的,而程式是一個相對單一的,這一點貌似在hibernate架構的多對多映
射中有相似處