2022-01-07 14:42:34|已瀏覽:2762次
由于大多數(shù)用戶使用Java編寫Android應用程序,一個顯而易見的問題是:Android是否提供Java虛擬機?答案是沒有,Android不提供Java虛擬機。因此Java存檔(JavaArchive,JAR)文件將不會在Android上執(zhí)行,因為Android并不執(zhí)行字節(jié)碼。Android提供的是Dalvik虛擬機。Android使用名為dx的工具將字節(jié)碼轉(zhuǎn)換成Dalvik可執(zhí)行代碼(Dalvik Executable,DEX)。
它最初由Dan Bornstein開發(fā)并以他的祖先在Iceland居住過的漁村的名字Dalvik來命名。Dalvik是一個基于寄存器的、高度優(yōu)化的、開源的虛擬機。Dalvik不向Java SE或Java ME看齊,并且它的庫是基于Apache Harmony項目的。
每個Java應用程序運行在自身的虛擬機上。當設備啟動時,一個稱為Zygote的新進程會產(chǎn)生一個虛擬機進程。然后Zygote進程交叉創(chuàng)建新的請求進程虛擬機。在Dalvik背后的主要動機是通過增加共享來減少內(nèi)存占用,在Dalvik中的常量池也由此成為共享池,它同樣共享核心以及在不同虛擬機進程當中的只讀庫。Dalvik依賴于Linux平臺上的所有底層功能,如線程和內(nèi)存管理。Dalvik對每個虛擬機都有一個獨立的垃圾回收器,但要謹慎處理共享資源的進程。
本文由培訓無憂網(wǎng)牛耳教育課程顧問老師整理發(fā)布,更多手機開發(fā)課程信息可關注培訓無憂網(wǎng)手機開發(fā)培訓頻道或添加老師微信:15033336050
注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.universityresearchassociates.com/news-id-13579.html 違者必究!部分文章來源于網(wǎng)絡由培訓無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關資訊請關注手機開發(fā)頻道查看更多,了解相關專業(yè)課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050