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

java虚拟机基于的架构(java虚拟机是什么)

Java虚拟机和Dalvik虚拟机的区别
Java虚拟机和Dalvik虚拟机的区别如下:
(1)DalvikVM和JVM的第一个区别是DalvikVM是基于寄存器(reg-based)的架构,而JVM是堆栈机(基于堆栈)。regbasedVM的优点是可以提前实现更好的优化(optimizationadvance)。此外,基于注册表的虚拟机运行速度更快,但代价是代码长度更长。
(2)另一个区别是Dalvik可以允许多个实例运行,这意味着每个Android应用程序在VM中独立运行。这样做的好处是应用程序崩溃只会影响其自己的虚拟机。他们不会碰别人。Dalvik的设计是每个DalvikVM都是Linux下的一个进程。那么这就需要高效的IPC。此外,每个VM独立运行的优点是它可以动态地启用/禁用自己的VM而不影响其他VM
(3)接下来是关于版权的争论。
既然regbasedVM有这么多好处,那么设计JAVA的人之所以不使用regbased而是使用stackbased,是因为基于stack的VM也有它的优点,即它不对reg的数量进行假设主机平台,有利于移植到不同的系统中。Dalvik并不关心这一点,因为它最初是为ARM等多寄存器平台设计的。此外,将Dalvik移植到x86还表明,即使在x86这样的reg很少的平台上,基于reg的虚拟机也没有问题。
安卓java虚拟机安卓java虚拟机

Dalvik虚拟机有什么系统架构?

答:Dalvik虚拟机是Android程序的虚拟机,是Android中运行Java程序的基础。其指令集基于寄存器架构,并实现其独特的文件格式——dex字节码来完成对象生命周期管理、堆栈管理、线程管理、安全异常管理和垃圾收集等重要功能。其核心内容是实现库(),一般用C语言实现,依靠Linux内核的一些功能——线程机制和内存管理机制,可以高效地使用内存,并在上表现出高性能。低速CPU。

每个Android应用在底层都对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下执行。

Android系统为什么要用Java编写?可以用C语言写程序吗?

这取决于Android系统架构。Android系统内核基于Linux内核,中间层多用Java实现,并使用特殊的Dalvik虚拟机。Dalvik虚拟机是一种“Java虚拟机临时“内存类型”。所以应用程序都是用java语言编写的。任何语言都有优点和缺点。Java适合网络编程和应用层编程,C语言适合基础编程

Java语言有什么特点?什么是Java虚拟机?

Java是一种分布式面向对象语言,具有面向对象、平台化等诸多特点。独立、简单、解释和实现、多种线程和安全。

Java虚拟机(JVM)是​​Java程序的软件环境。Java虚拟机可以理解为使用字节码作为机器指令的CPU在任何操作系统中,只要有JVM存在,Java程序就可以运行,真正实现了程序的可移植性。

Java虚拟机在执行Java程序时,会将其管理的内存划分为若干个不同的内存空间。数据区域。这些区域都有自己的目的,以及创建和破坏的时间。有些区域随着虚拟机进程的启动而存在,有些区域根据用户线程的启动和结束而创建和销毁。