资源描述:
《The_Dalvik_Virtual_Machine》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、DavidEhringerMarch,2010THEDALVIKVIRTUALMACHINEARCHITECTUREIntroductionJavahasalwaysbeenmarketedas“writeonce,runanywhere.”ThecapabilityhaslargelybeenmadepossiblebytheJavaPlatform,thefoundationofwhichistheJavaVirtualMachine(JVM).Althoughthisgoalhaslargelybeenme
2、tfortheJavaplatformondesktop(JSE)andserver(JEE)environments,themobileJavaecosystem(JME)isabitmorefragmentedwithvariousconfigurations,profiles,andpackagescausingsignificantmodificationstoapplicationsinordertosupportdifferentdevices.WhileGooglehasselectedJavaasthel
3、anguagefordevelopingAndroidapplications,ithaschosentoabandonbothJMEandtheJVMinfavorofanalternativedeploymenttarget,theDalvikvirtualmachine.GooglehasalsochosentouseanalternativeandlimitedimplementationofthestandardJavalibraries.Bothofthesearenon-standardJava,a
4、ndeffectivelyrepresentforkingoftheJavaplatform.ThisseemstobreakfromthetrendofpeopletargetingtheJVMasatheruntimeplatformforaverywiderangeoflanguages.Scala,Groovy,JRuby,Jython,andClojureareonlyafewofthedozensoflanguagesthatrunontheJVM.Theselanguagescannotonlyta
5、keadvantageofthemanyfeaturesoftheJVMbutalsoseamlesslyleverageallthestandardJavalibrariesandthecountlesscustomlibrariescreatedbyindividualsandorganizations.Recently,Googlehasbeensubtletybuckingthistrendbycreatednon-standardJavatechnologies.Thisincludesnononlyt
6、heAndroidplatformbutalsoGoogleWebToolkit(GWT)andGoogleAppEngine,thereasonsofwhichtheyarenon-standardisbeyondthescopeofthispaperastheyaren’tmobiletechnologies.ButthetrendmaybeapplicabletowhathashappenedintheJMEspace.Non-standardJavaimplementationsmayfurtherfra
7、gmenttheplatformcauseadditionalheadachesfordeveloperslookingtosupportthewidearraydevicescurrentlyonthemarket.ThispaperlookstounderstandthearchitectureofDalvikvirtualmachineandunderstandthetechnicalreasonsforwhyGooglechosetodevelopertheirownnon-standardvirtual
8、machine.WhiletherearemostlikelyalsobusinessreasonsbehindcreatingDalvik,thispaperonlyaddressestechnicalconsiderations.DesignConstraintsImposedbytheTargetPlatformsTheAndroidplatformwascreat