全站数据
8 4 2 0 5 8 1

安卓为什么要用虚拟机,而不直接在Linux系统上运行程序

今跃寄宿考研 | 教育先行,筑梦人生!         
问题更新日期:2024-11-29 13:18:07

问题描述

安卓为什么要用虚拟机,而不直接在Linux系统上运行程序急求答案,帮忙回答下
精选答案
最佳答案

因为本来Java在不同架构的CPU、不同操作系统上的开发就具有统一的优势。

Java是语言,Linux是平台,语言一定要依靠于某个平台来工作。

兼容性就是安装了JVM的机器都可以跑Java程序。

Java虚拟机是为每个平台都提供的。也就是说,每一个平台都会编写一个特定的Java虚拟机。

至于为什么其他软件不能运行在其他操作系统上,这个取决于底层的体系结构和接口 Linux和Windows的文件结构都不一样,而且操作系统的架构相差特别多,而且底层的接口也是相差巨大,特别是在库文件方面。

Android系统和Linux发行版的系统根本区别是Android上面只跑了一个Dalvik/ART,而Linux发行版上面跑了很多Dalvik/ART而已。

Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。

其他回答

安卓5.0以后有一种新的解决办法绕开虚拟机,就是当应用安装以后将Java代码全部转译成系统可以直接运行的二进制代码,所以几十MB的安装包,安装完以后就变几百MB了