java - 为什么虚拟机没有操作系统?

标签 java language-agnostic jvm

在编程语言的上下文中,如果编译的代码在某种虚拟机上运行,​​为什么虚拟机不需要操作系统?以 Java 为例,用 Java 编写的程序在 JVM 中运行,但(据我所知)JVM 没有操作系统。我知道操作系统是必要的,因为它们管理资源(例如哪个进程轮流使用 CPU),那么 JVM 怎么可能不需要呢?我对虚拟机的理解是,它是自己的处理器,有自己的架构和指令,但是“虚拟机”这个术语是否可以被视为带有自己的操作系统?

最佳答案

就“眼睛”而言,虚拟机就是它自己的操作系统。它只是没有需要考虑的物理硬件。

(物理/真实)CPU 执行 JVM - 这是平台相关的,然后 JVM 执行 Java 代码 - 这是平台无关的。

所以 JVM 确实需要一个操作系统。独立于操作系统和不需要操作系统之间是有区别的。在这种情况下,独立意味着对于 Java 来说,在哪个操作系统上运行它并不重要。只要 JVM 存在,它就能正常工作。 JVM 必须确保底层操作系统正确执行您的 Java 代码。

关于java - 为什么虚拟机没有操作系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307768/

相关文章:

Java Random - 两个相等的值之一如何与另一个不同?

java - JVM 崩溃了,我不明白为什么

algorithm - 有没有快速的射线→曲面相交算法?

function - 哪些语言是函数抽象而不是原始函数

java - 使用 VisualVM 进行 JAVA 远程分析

java - jvm apache httpClient.execute(httpMethod, context) 的 "networkaddress.cache.negative.ttl"属性是否会影响它?

java - 递归地在空格中添加星号

java - setOnTouchListener 问题

java - 使用 java 链接 fxml 文件时出现异常

function - 良好的编码习惯 : When to Create New Functions