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

安卓为什么用java虚拟机


一、安卓java虚拟机安卓java虚拟机

Dalvik虚拟机属于什么系统架构?

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

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

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

这取决于Android系统的架构。Android系统内核基于Linux内核,中间层大多用Java实现,并使用特殊的Dalvik虚拟机——“内存类型”的临时Java虚拟机。所以应用程序是用Java语言编写的。任何语言都有它的Java适合网络编程和应用级编程,而C语言适合控制Java语言的底层硬件特性。

Java语言是一种对象语言吗?面向分布式语言,具有面向对象、平台无关、简单性、解释和执行、多线程和安全性等特点。

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

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


二、java为什么需要虚拟机Java语言的一个非常重要的特性是它是平台无关的。使用Java虚拟机是实现这一功能的关键。通用高级语言如果要运行在不同的平台上,至少必须编译成不同的目标代码。一旦Java语言被导入到虚拟机中,Java语言在不同平台上运行时不需要重新编译。Java语言
使用模型Java虚拟机维护了特定于平台的信息,因此Java语言编译器只需要生成在Java虚拟机上运行的目标代码(字节码),无需修改平台。当Java虚拟机执行字节码时,它解释机器指令以在特定平台上执行字节码。