Android虛擬機器Dalvik

來源:互聯網
上載者:User

Android 平台的基礎——Dalvik 虛擬機器。

Dalvik被設計成一個裝置可以同時高效地運行多個虛擬系統。
Dalvik虛擬機器執行(.dex)的Dalvik可執行檔,該格式檔案針對小記憶體使用量做了最佳化。同時Dalvik虛擬機器是基於寄存器的,所有的類都經由JAVA編譯器編譯,然後通過SDK中
的 "dx" 工具轉化成.dex格式由Dalvik虛擬機器執行。

Dalvik虛擬機器依賴於Linux核心的一些功能,比如線程機制和底層記憶體管理機制。

Dalvik和標準Java虛擬機器(JVM)首要差別
       

         Dalvik 基於寄存器,而JVM 基於棧。,基於寄存器的虛擬機器對於更大的程式來說,在它們編譯的時候,花費
的時間更短。

Dalvik和Java運行環境的區別

     (1)Dalvik 經過最佳化,允許在有限的記憶體中同時運行多個虛擬機器的執行個體,並且每一個Dalvik 應用作為一個獨立的
Linux 進程執行。獨立的進程可以防止在虛擬機器崩潰的時候所有程式都被關閉.

     (2)Java運行環境(Java Runtime Environment)包括以下兩個部分:

       java虛擬機器:為了實現一次編譯到處可以啟動並執行原則,java在編譯串連以後並沒有產生目標機器語言,而是採用了Java bytecode這種Java共用指令,這時就需要一個虛擬機器來執行改指令。

        庫:跟我們常用的C語言一樣提供一些常用的庫

 
     Android使用的虛擬機器叫 Dalvik,最初並是不為Java設計的,它並不能運行Java bytecode指令,而是運行叫Dalvik executable,簡稱dx。為此Android SDK提供了dx工具,用來將Java bytecode轉換為dx。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.