Java 编译器( javac
)、虚拟机 (JVM) 和 java
启动程序是用哪些语言编写的?
原文由 Rahul Garg 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java 编译器( javac
)、虚拟机 (JVM) 和 java
启动程序是用哪些语言编写的?
原文由 Rahul Garg 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
这个问题的精确措辞有点误导:它不是 “JVM” 或 “编译器” ,因为有 多个 JVM 供应商(jrockit 是一个,IBM 另一个)和 多个编译器。
Sun JVM 是 用
C
编写的,尽管不一定是这种情况 - 在您的机器上运行的 JVM 是一个 平台相关的 可执行文件,因此最初 可以 用任何语言编写。例如,最初的 IBM JVM 是用 Smalltalk 编写的Java 库(
java.lang
,java.util
等,通常称为 Java API )本身是用 Java 编写的,尽管标记为native
的方法将被编写在C
或C++
中。我相信 Sun 提供的 Java 编译器也是用 Java 编写的。 (同样,那里有多个编译器)