mac虚拟机好还是双系统 操作系统为什么不内置java虚拟机?
操作系统为什么不内置java虚拟机?
诚恳邀请
其实这个问题就是要了解操作系统是什么。操作系统将硬件与用户程序分开。操作系统主要用于管理硬件资源和系统调度。其他功能只是为了提高效率。内核需要添加一些接口,以减少用户程序与内核之间的通信导致的效率降低。用于执行Java程序的Java虚拟机是一种用户模式的程序,不具备操作系统的能力。它只用于解析Java字节码,不能被硬件直接识别。因此,必须有操作系统翻译。而且,Java虚拟机的目的是使Java程序能够一次编写、多个地方执行,但操作系统可以脱离Java虚拟机而存在,因此实现Java虚拟机是必要的,Java虚拟机的功能是执行Java字节码,其编码实现是一个复杂的过程死循环。每个循环都是获取字节码和执行字节码的过程,因此Java虚拟机与其他程序没有本质的区别。主流的JavaVM大多是用C语言实现的,然后用汇编语言辅助实现,用Java实现JavaVM的情况有一些,但不多。
下面是使用C语言在智能设备中实现虚拟机的一个片段。
此代码是短加法字节码的实现。
这段代码只是获取字节码并执行它。你认为JavaVM就是这样吗。
为了优化虚拟机的效率,很多人选择用汇编的方式重写执行频率高的代码。
小结是C语言实现的许多,将与汇编结合起来作为辅助工具。有其他语言,但不是主流。
mac虚拟机好还是双系统 虚拟机不支持64位系统 虚拟机安装系统
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。