999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Dalvik虛擬機進程模型研究

2019-09-09 13:33:49孫丹
數碼世界 2019年6期
關鍵詞:進程利用方法

孫丹

摘要:不同于傳統Java程序,DaMk虛擬機能夠完成多個獨立進程創建。基于這種認識,本文在對Dalvik虛擬機展開分析的基礎上,對Dalvik虛擬機進程模型進行了探討,發現其能夠在吸收Linux和Java進程控制特點基礎上,利用特有進程實現API控制,因此在DaMk虛擬機應用時還要把握這一特征,加強平臺進程控制管理。

關鍵詞:DaMk虛擬機進程模型

引言

Android平臺目前是智能手機廣泛應用的平臺,其采用Dalvik虛擬機技術保證手機多個應用程序在運行過程中減少資源占用,并保持較高運行效率Da Mk虛擬機之所以能夠實現平臺程序兼容優化,與其進程創建特性有著直接關系。因此,還要加強Dalvik虛擬機進程模型分析,以便掌握Dalvik虛擬機進程創建優缺點,達到合理應用虛擬技術的目標。

1 Dalvik虛擬機概述

Dalvik虛擬機實際上就是Google公司為Android平臺設計的虛擬機,是Android移動設備平臺核心組成部分之一。采用Dalvik虛擬機,能夠為轉換為Dalvik Executable(簡稱,dex)格式的Java程序運行提供支持。作為Dalvik專用壓縮格式,.dex能夠在處理速度及內存有限的運算系統中得到應用,可以同時對多個虛擬機實例進行運用,并將每個應用當成是獨立Linux進程。通過創建獨立進程,能夠避免虛擬機崩潰時出現所有程序被關閉問題。但與此同時,創建多個獨立進程,可能導致系統運行速度減慢,因此Dalvik虛擬機被看成是拖慢Android的根本原因。

2 Dalvik虛擬機進程模型分析

2.1虛擬機進程與線程

所謂的Dalvik虛擬機進程,從通俗意義上來講就是Android應用程序進程,實際Dalvik虛擬機在創建進程時,將對一個成員函數進行調用。而一旦發現函數為JNI方法,其將直接跳轉到相應地址執行程序,即在本地操作系統上運行程序,并非利用虛擬機解釋器執行操作。因此采用JNI方法,可以實現Android應用程序與本地操作系統直接通信。除了對Java代碼進行執行,Dalvik虛擬機能夠執行Native代碼,即c/c++函數。在函數調用期間,虛擬機能夠利用本地操作系統直接進行進程或線程創建,得到相應的Linux進程和線程。利用Native代碼創建進程,需要對虛擬機進行加載.因此可以看成是虛擬機的一個進程。如果創建出的線程能夠對Java代碼進行執行,則能看成是虛擬機的一個線程。

2.2進程創建過程

Dalvik虛擬機進程能夠利用Activity Manager Service服務提供。分析進程創建過程可以發現,該服務能夠利用android.Os.Process類的靜態成員函數start進行Zygote進程創建,然后由該進程通過dalvik.system.Zygote類的靜態成員函數forkAndSpecialize實現虛擬機線程創建。相較于進程,線程占用資源少,能夠與其他線程共享資源。但線程管理相對麻煩,需要解決同步問題-個線程的崩潰可能引起其他線程崩潰從Java語言層面來講,可以利用java.lang.Thread類的成員函數start進行虛擬機線程創建。在實際創建過程中,將完成本地操作系統進程創建,得到Linux進程。不同于之前創建的Linux進程,該進程無對應虛擬機實例,因此不會自動附加到虛擬機中,而是需要對Java代碼進行執行才能完成附加。

2.3創建方法比較

由Dalvik虛擬機進程創建過程可知,其基本采用本地方法實現進程創建。采用fork方法,得到的子進程僅為半初始化狀態,是zygote進程。在父進程完成addNeWHeap調用的情況下,將采用寫時復制方式實現進程共享,完成初始化操作。采用forkAndSpecialize方法,將單獨完成子進程的創建,需要對HeapWorker線程進行啟動,完成對象終結函數的執行,進行對象清理和歸隊引用,從而完成線程調試。通過執行addNewHeap,能夠進行新堆創建,為特定任務運行提供支持。采用forkSystemServer方法,基本與forkAndSpecialize擁有相同進程創建過程,但在子進程結束后將不會進行父進程的創建。在Linux進程中,對forx進行調用,得到的父子進程堆棧不存在關聯,但除dex文件以往的其他文件均能對虛擬機核心庫代碼進行共享,因此不僅可以使Linux進程的優勢充分發揮,也能使系統內存得到節省。從比較結果來看,Dalvik虛擬機在對傳統Java進程控制API方式進行保留的同時,也對Linux操作系統特點進行了汲取,能夠利用特有進程實現API的控制,利用forx語義或控制信號實現進程創建,因此在系統啟動時就能完成系統服務進程創建。

3結論

綜上所述,在開源的Android系統中,Dalvik虛擬機能夠通過加強Java應用和吸取Linux特點利用特有進程完成API控制,因此才能在大量智能移動平臺上得到使用和移植。相信伴隨著虛擬技術的發展,Dalvik虛擬機也將突破運行速度方面的局限性。

參考文獻

[1]尹學淵,陳興蜀,陶術松,等.一種無代理虛擬機進程監控方法[J],南京大學學報(自然科學),2019,55(02):221 230.

[2]陳佳昕,虛擬機隱藏進程檢測系統設計與實現[J]現代計算機(專業版),2019(O1):93-96.

猜你喜歡
進程利用方法
利用min{a,b}的積分表示解決一類絕對值不等式
中等數學(2022年2期)2022-06-05 07:10:50
利用一半進行移多補少
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
利用數的分解來思考
Roommate is necessary when far away from home
可能是方法不對
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
主站蜘蛛池模板: 亚洲欧美在线综合一区二区三区| 国产91久久久久久| 中国丰满人妻无码束缚啪啪| 精品福利一区二区免费视频| 97国产成人无码精品久久久| 亚洲日韩日本中文在线| 中文字幕在线日韩91| 国产呦视频免费视频在线观看| 亚洲VA中文字幕| 久久天天躁狠狠躁夜夜2020一| 久久这里只精品国产99热8| 亚洲成人福利网站| 精品五夜婷香蕉国产线看观看| 性欧美在线| 亚洲系列中文字幕一区二区| 精品在线免费播放| 亚洲人成色在线观看| 老司机午夜精品网站在线观看 | 亚洲综合网在线观看| 99人妻碰碰碰久久久久禁片| 欧美日韩91| 最新国产网站| 久久香蕉国产线| 色综合久久久久8天国| 在线观看精品自拍视频| 精品丝袜美腿国产一区| 国产97视频在线观看| 国产精品一区二区无码免费看片| 欧美伊人色综合久久天天| 精品伊人久久久久7777人| 亚洲精品动漫| 中文字幕久久精品波多野结| 毛片网站观看| 伊人婷婷色香五月综合缴缴情| 影音先锋丝袜制服| 国产在线自乱拍播放| 国产高颜值露脸在线观看| 中文字幕在线欧美| 国产亚洲日韩av在线| 国产免费一级精品视频| 老色鬼欧美精品| 高潮毛片无遮挡高清视频播放| 99精品国产自在现线观看| 色老二精品视频在线观看| 精品色综合| 农村乱人伦一区二区| 成人福利在线免费观看| 国产日韩欧美在线播放| 999福利激情视频| 永久免费无码成人网站| 国产丝袜第一页| 国产福利免费观看| 无码在线激情片| 波多野结衣无码视频在线观看| 亚洲最新在线| 丰满少妇αⅴ无码区| 精品国产免费第一区二区三区日韩| 中文字幕在线播放不卡| 美女无遮挡被啪啪到高潮免费| 天天躁夜夜躁狠狠躁图片| 国产亚卅精品无码| www亚洲天堂| 国产欧美综合在线观看第七页| 成人欧美在线观看| 亚洲欧美日本国产综合在线| a级毛片一区二区免费视频| 91色在线观看| 国产精品亚洲αv天堂无码| 亚洲视频免费播放| 色噜噜在线观看| yjizz视频最新网站在线| 日韩国产精品无码一区二区三区| 亚洲天堂网2014| 久久综合结合久久狠狠狠97色| 亚洲伦理一区二区| 成人国产精品一级毛片天堂| 亚洲性色永久网址| 婷婷五月在线| 国产真实乱子伦视频播放| 成·人免费午夜无码视频在线观看 | 日韩美毛片| 97狠狠操|