Android是基於Linux的開源操作系統,Android的核心內容之一就是DVM,即Dalvik虛擬機。它與傳統的JVM的區別:
1、架構上的區別,前者基於reg(CPU中),后者基於stack(內存中)。最顯著的區別是,前者可以有效減少內存訪問的次數,來加快程序的執行。
其他的諸如可以提前優化,編譯速度加快,由於暫時不懂編譯原理,理解不了。
2、執行的字節碼不一樣,前者是dex格式,后者是.class格式。Dex是針對移動設備進行了優化。
Technorati 標簽:
Android
3、DVM可以同時運行多個VM實體,並存在於獨立的進程中。 而JVM呢? 感覺也是存在於獨立進程中。。暫時還未有深刻的認識。。待以后來補充。
。。。。
4、DVM更多的利用Linux系統,完成進程和線程的管理,因為DVM中線程就是Linux中的一個線程,依賴於系統來管理線程。