日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java虚拟机和Dalvik(android)虚拟机的区别

發布時間:2023/12/19 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java虚拟机和Dalvik(android)虚拟机的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先你必須對java虛擬機中常用的一款有深入的了解,比如Hotspot。

然后你再了解下android系統和Dalvik。

Dalvik 與 傳統jvm的差別還是很大的,總結來說,我個人把其歸納為三大類:

(1).傳統jvm是基于棧的,而Dalvik基于寄存器的。如果你了解Hotspot,你發現每一個方法對應棧幀,每一條指令都是基于棧的操作,基于棧,那么很多都是進棧和出棧的造作,那么造就了指令很多。基于寄存器就是數據直接存儲在寄存器上,然后直接讀取數據進行操作,沒有數據創建之后的進棧操作和出棧操作。

(2)傳統的jvm是執行class文件,而dalvik卻是執行dex文件,在android應用打包的時候,實質上是依據dx工具將class文件打包成dex文件(是class文件的壓縮),dex文件直接被dalvik加載。

(3).在android系統中,每一個app對應一個dalvik,一個應用,一個虛擬機實例,一個進程(所有android應用的線程都是對應一個linux線程,都運行在自己的沙盒中,不同的應用在不同的進程中運行。每個android dalvik應用程序都被賦予了一個獨立的linux PID(app_*))。常量池已被修改為只使用32位的索引,以 簡化解釋器。dalvik的堆和棧的參數可以通過-Xms和-Xmx更改。

總結

以上是生活随笔為你收集整理的Java虚拟机和Dalvik(android)虚拟机的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。