Java编译器(javac)、虚拟机(JVM)和Java启动器是用哪种语言编写的?


当前回答

第一个Java编译器是由Sun Microsystems开发的,用C语言编写,使用了c++中的一些库。今天,Java编译器是用Java编写的,而JRE是用C编写的。

我们可以想象一下Java编译器是如何用Java编写的:

Java编译器是作为Java程序编写的,然后用C语言编写的Java编译器(第一个Java编译器)进行编译。因此,我们可以使用新编译的Java编译器(用Java编写)来编译Java程序。

其他回答

原则上几乎任何事情,通常C

来自Java文档

编译器是用Java编写的,运行时是用ANSI C编写的

第一个Java编译器是由Sun Microsystems开发的,用C语言编写,使用了c++中的一些库。今天,Java编译器是用Java编写的,而JRE是用C编写的。

我们可以想象一下Java编译器是如何用Java编写的:

Java编译器是作为Java程序编写的,然后用C语言编写的Java编译器(第一个Java编译器)进行编译。因此,我们可以使用新编译的Java编译器(用Java编写)来编译Java程序。

实际上,Oracle JVM是用c++编写的,而不是C。

看看HotSpot JVM代码:http://openjdk.java.net/groups/hotspot/

假设您谈论的是Hotspot JVM,它是Sun提供的iirc,它是用c++编写的。有关Java的各种虚拟机的更多信息,可以查看这个链接。 javac,像大多数Java编译器一样,是用Java编写的。