只是想知道什么时候 java 是平台独立的,那么 JVM 是平台依赖的具体原因是什么。
原文由 giri 发布,翻译遵循 CC BY-SA 4.0 许可协议
只是想知道什么时候 java 是平台独立的,那么 JVM 是平台依赖的具体原因是什么。
原文由 giri 发布,翻译遵循 CC BY-SA 4.0 许可协议
我发现这是对这个问题的一个很好的回答:
JVM 将字节码翻译成机器语言
每个 Java 程序都被编译成一种称为 Java 字节码的中间语言。 JVM 用于将字节码翻译成特定计算机的机器语言,并实际执行相应的机器语言指令。 JVM 和字节码的结合赋予了 Java 作为一种“可移植”语言的地位。
机器语言依赖于操作系统
鉴于先前的信息,应该更容易推断出问题的答案。由于 JVM 必须将字节码翻译成机器语言,并且由于机器语言取决于所使用的操作系统,因此很明显 JVM 是平台(操作系统)相关的。这个事实可以通过尝试下载 JVM 来验证——你会得到一个对应于不同操作系统的 JVM 列表,你显然会选择适合你正在运行的操作系统的 JVM。
引自 JVM 平台依赖吗?
原文由 aashish 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
除非你有一个可以直接执行 Java 字节码的 CPU(有这样的东西),否则你需要能够与操作系统交互(比如读取文件、连接到网络、显示到屏幕等……)。
您可以用其他语言(例如 Java 或 JavaScript )编写 JVM,但最终需要能够与底层操作系统交互的东西。