Android安全與逆向之Java虛擬機和Dalvik虛擬機的區別

      網友投稿 954 2025-04-02

      java虛擬機:

      Dalvik虛擬機:

      基于棧的機器必須使用指令來載入和操作棧上數據,所需指令更多更多 dalvik虛擬機是基于寄存器的

      dalvik虛擬機架構:

      Android安全與逆向之Java虛擬機和Dalvik虛擬機的區別

      Dalvik進程管理:

      dalvik進程管理是依賴于linux的進程體系結構的,如要為應用程序創建一個進程,它會使用linux的fork機制來復制一個進程(復制進程往往比創建進程效率更高)。

      Zygote是一個虛擬機進程,同時也是一個虛擬機實例的孵化器,它通過init進程啟動。首先會孵化出System_Server(android絕大多系統服務的守護進程,它會監聽socket等待請求命令,當有一個應用程序啟動時,就會向它發出請求,zygote就會FORK出一個新的應用程序進程).每當系統要求執行一個android應用程序時,Zygote就會運用linux的FORK進制產生一個子進程來執行該應用程序。

      每當執行一個Android應用程序,Zygote就會孵化一個子線程去執行該應用程序(系統內部執行dvz指令完成的)。這樣做的好處是顯而易見的,Zygote進程是在系統啟動時產生的,它會完成虛擬機的初始化,庫的加載,預置類庫的加載和初始化等操作,而在系統需要一個新的虛擬機實例時,Zygote通過復制自身,最快速地提供一個系統。另外,對于一些只讀的系統庫,所有虛擬機實例都和Zygote共享一塊內存區域,這樣可以大大節省內存開銷。

      相對于基于堆棧的虛擬機實現,基于寄存器的虛擬機實現雖然在硬件通用性上要差一些,但是它在代碼的執行效率卻更勝一籌。在基于寄存器的虛擬機中,可以更加有效地減少多余指令的分發和減少內存的讀寫訪問。

      JVM和Dalvik進程管理:

      linux中進程間通信的方式有很多,但是dalvik使用的是信號方式來完成進程間通信。

      Android的初始化流程:

      Android ARM Java 虛擬化

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:word表格中怎樣畫表(word中怎么畫表格)
      下一篇:五個冷門小技巧,效果都挺好
      相關文章
      亚洲高清国产拍精品青青草原| 亚洲精品福利网站| 亚洲精品成人片在线播放| 亚洲成av人无码亚洲成av人| 亚洲黄网在线观看| 亚洲精品国产第1页| 情人伊人久久综合亚洲| 亚洲色欲久久久综合网东京热| 亚洲精品高清一二区久久| 国产在亚洲线视频观看| 精品亚洲成a人在线观看| 精品国产成人亚洲午夜福利| 亚洲毛片基地4455ww| 亚洲一区二区影视| 亚洲娇小性色xxxx| 亚洲成_人网站图片| 亚洲熟妇无码八V在线播放| 成人区精品一区二区不卡亚洲| 亚洲成A人片在线播放器| 在线亚洲午夜片AV大片| 亚洲精品亚洲人成在线| 亚洲av无一区二区三区| 免费观看亚洲人成网站| 亚洲国产天堂久久综合| 国产亚洲精品精品国产亚洲综合| 久久久久亚洲?V成人无码| 激情综合色五月丁香六月亚洲| 中文字幕精品无码亚洲字| 国产美女亚洲精品久久久综合| 国产亚洲av人片在线观看| 亚洲精品无码精品mV在线观看| 青青草原亚洲视频| 亚洲自偷自偷偷色无码中文| 亚洲色精品vr一区二区三区| 国产av无码专区亚洲av果冻传媒| 中文字幕亚洲不卡在线亚瑟| 曰韩亚洲av人人夜夜澡人人爽| 亚洲人JIZZ日本人| 亚洲AV无码成人精品区蜜桃 | 亚洲av无码av制服另类专区| 亚洲VA中文字幕无码毛片|