使用什么编程语言来开发Java?

时间:2012-04-05 11:52:06

标签: java

在采访中我被问到用什么编程语言来实现Java。我惊呆了:我从没想过这个。我只知道核心Java类是Java。

使用什么编程语言来开发Java?

6 个答案:

答案 0 :(得分:81)

编写Sun JDK实现的人之一已经回答了同样的问题 点击这里Wiki Answers

  

Java语言是一种语言规范 - 你不写一个   语言中的语言,这是一个规范。那会是这样的   问“你用德语写法语吗?”

     

我认为提问者真正想知道的是“什么   语言是JDK开发的吗?“也就是说,底层是什么   语言是整个Java虚拟机和类库的开发   in。

     

答案是:对于VM,它会有所不同,因为有多个   不同的VM实现。但是,类库总是如此   用Java编写,因为它们打算使用Java VM运行   本身。某些使用JNI(Java Native Interface)的库可能是   部分用各种其他语言写成,就像它们一样   打算在JVM外部使用。

     

Sun / Oracle VM是用C ++编写的。 BEA / Weblogic / Oracle VM是   用C语言编写.IBM的J9是(我相信)用C ++编写的。有一个   几个虚拟机实际上是用Java编写的,有一个甚至用Lisp编写。   绝大多数JVM还包括汇编程序代码以加速某些程序   “热”地区。

答案 1 :(得分:16)

Oracle执行Java代码的 Java虚拟机(JVM)是​​用C ++编写的。

其他方存在其他虚拟机,这些虚拟机以其他语言实现,有些甚至在Java本身中实现。维基百科here上提供了其中一些列表。

为了理解您必须知道,Java虚拟机在构建项目时执行由Java编译器生成的bytecode。此字节码的级别适用于所有可能的操作系统和平台,因此可以在特定平台的虚拟机上运行。 (这就是Java实现跨系统兼容性的方式)

还有几个 Java编译器。 (将Java代码编译成字节码的那些)最常见的是oracle的javac编译器,主要用C编写。有关这些here的更多信息。

答案 2 :(得分:12)

Java库(java.lang, java.util etc, often referred to as the Java API)本身是用Java编写的,但标记为native.的方法

Sun JVM是用C语言编写的,在您的计算机上运行的JVM是platform-dependent executable因此可能最初用任何语言编写
Oracle JVM(HotSpot)写在C++ programming language中。

Oracle提供的Java编译器是用Java编写的。

答案 3 :(得分:3)

基本上java在java中通过本机api使用C.您可以检查Java中任何类的源代码,如Object类,并检查每当它想要使用C语言时,他们在java中调用了本机API。

like public native int hashCode();

答案 4 :(得分:2)

Java是用C和Java编写的。

答案 5 :(得分:0)

Java在JVM-java虚拟机上运行。 JVM的实现各不相同。

相关问题