JVM、Dalvik、ART 3中虛擬機的區別

  1. JVM是JAVA的虛擬機,基於棧的, JVM將JAVA代碼編碼成.class類型文件。
  2. Dalvik是android的虛擬機,Dalvik是基於寄存器的,速度回更快,並且Dalvik把代碼編譯成.dex文件,本類型文件更適合與於手機。
  3. Dalvik是JIT(即時編譯),因此每次啓動運行程序,Dalvik纔會把字節碼轉換成機器碼。因此因爲存在這種轉換,相對於ART,會更慢、消耗內存、消耗電池。
  4. ART即是android run time ,其在第一次安裝和啓動的時候都將字節碼轉換成了機器碼,因此其他時候啓動和使用APP的時候,就省略了字節碼到機器碼的轉換,運行會更快、更剩電和內存;但是因爲機器碼比字節碼佔用的存儲空間會大,ART相比較Dalvik佔用的磁盤空間會更高。
  5. android手機默認仍然是Dalvik編譯,如果需要ART,在開發者模式進行設置。
發佈了66 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章