爲何JVM不一次性全部編譯?

個人認爲

最關鍵的是jvm無法做到靜態編譯java的動態語義。以前也不是不能做,而是覺得有必要去做的人沒能力或者種種原因沒有去做,而有能力去做的覺得沒有必要。畢竟摻雜商業的事情我也不甚瞭解。這東西隨着社會的發展,總會有人去做,這不,華爲的方舟編譯器就搞定了,不過要所有廠商APP重新編譯也是一個耗時間的事兒,牽扯到生態圈以及各種複雜關係。


再就是,解釋執行,佔用空間特別小,適合某些空間緊湊的環境。要知道源碼編譯成本地二進制機器碼,體積是以10x級數的倍增。
 

以上僅個人拙見,很多原因我也是不甚明瞭,好奇至極,還望兄弟們多多告知與討論。

 

參考:

拜拜虛擬機,全面深度解密華爲方舟編譯器 - bluesky1 - 博客園

Dalvik 和 ART - 簡書

什麼是JIT,寫的很好 - ddzh2020 - 博客園

爲什麼Java不能由JVM產生針對特定操作系統的機器碼從而提高效率? - 知乎

爲什麼 JVM 不用 JIT 全程編譯? - 知乎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章