当前位置:首页 > 虚拟机 > 正文

安卓虚拟机与java虚拟机


一、请问:java虚拟机和Android虚拟机的区别?我知道BlackBerry的虚拟机是基于Java的。黑莓的虚拟机是独立的,也就是说每个程序都有自己的虚拟机,不会互相影响。这样做的好处是,如果软件死掉了,也不会受到影响。。整个手机崩溃了,而Android虚拟机却持续了一整天。如果某个软件出现故障,整个手机就会瘫痪。这就是黑莓和安卓虚拟机的区别。用过黑莓和安卓的人都能明显感受到。。我理解这个区别,希望这有帮助


二、java虚拟机是什么?用Java语言编写的代码是一个.java文件,它会被特定的程序(,会被Eclipse等IDE调用)编译成字节码。中央处理器。另一个程序读取并执行它。这个组件就是Java虚拟机。它像机器一样运行编译好的Java字节码,像直接执行机器代码的机器一样...Windows中Java虚拟机的外部接口。主要是文件...
三、安卓虚拟机和java虚拟机有什么不同Android虚拟机即dalvik与Java虚拟机的区别如下:
1.Java虚拟机是基于栈的。基于堆栈的机器需要使用指令将数据加载到堆栈并执行操作,这需要更多的指令。Dalvik虚拟机是基于寄存器的。Java虚拟机执行Java字节码。(一个Java类被编译成一个或多个字节码.class文件,并打包成.jar文件。Java虚拟机从.class文件和.jar文件中获取它的字节码。)
2.另一个大问题Dalvik和Java的区别在于执行环境。Dalvik经过优化,可以在有限的内存中同时运行多个虚拟机实例。


四、java虚拟机和安卓虚拟机有什么区别Android系统框架中有一个部分叫做AndroidRuntime,它就是Android运行时环境。这个环境由两部分组成:一是Android的核心类库,二是Dalvik虚拟机。
Android之所以开发Dalvik虚拟机而不是使用JAVA自带的JVM,是出于以下两个考虑(我个人认为这并不是很重要):
1.如果你使用JVM,你就会遇到版权问题。因为存在版权问题,Google需要在JVM的基础上进行一些改进,创建自己的虚拟机。
2.性能问题。当然,JVM虚拟机的性能对于Java开发来说已经足够了,但是相比移动平台的特性,比如:比如低内存、低电量等等,这似乎有点牵强。为了优化虚拟机的工作效率,谷歌开发了自己的Android虚拟机。
以下是两者的区别:
1.JVM,对吗?.Java文本被编译成.Class字节码文件。运行Java程序时,类加载器将Go中所有需要的类加载到内存中。Davik虚拟机将.java文件编译为.class文件,将.class文件转换为.dex文件,Dalvik执行.dex文件。实际上,.dex文件用于将常量、方法等分组到多个类文件中。
2.从架构上来说,JVM是基于栈架构的,因此CPU每次访问数据时,都需要从内存中取出数据。Dalvik是一种基于寄存器的架构。寄存器是CPU上的一个存储空间。如果CPU直接从寄存器读取数据,速度会快很多。