¿En qué idioma están escritos el compilador de Java y la JVM?

Resuelto Rahul Garg asked hace 15 años • 10 respuestas

¿En qué lenguajes están escritos el compilador de Java ( javac), la máquina virtual (JVM) y el javainiciador?

Rahul Garg avatar Aug 03 '09 13:08 Rahul Garg
Aceptado

La redacción precisa de la pregunta es un poco engañosa: no es "la JVM" o "el compilador" , ya que existen varios proveedores de JVM (jrockit es uno, IBM otro) y varios compiladores .

  • Sun JVM está escrito en C, aunque no tiene por qué ser así: la JVM, tal como se ejecuta en su máquina, es un ejecutable que depende de la plataforma y, por lo tanto, podría haberse escrito originalmente en cualquier idioma. Por ejemplo, la IBM JVM original se escribió en Smalltalk.

  • Las bibliotecas de Java ( java.lang, java.utiletc., a menudo denominadas API de Java ) están escritas en Java, aunque los métodos marcados como nativese habrán escrito en Co C++.

  • Creo que el compilador de Java proporcionado por Sun también está escrito en Java. (Aunque nuevamente, existen varios compiladores)

oxbow_lakes avatar Aug 03 '2009 06:08 oxbow_lakes

El primer compilador de Java fue desarrollado por Sun Microsystems y escrito en C utilizando algunas bibliotecas de C++. Hoy en día, el compilador de Java está escrito en Java, mientras que el JRE está escrito en C.

Podemos imaginar cómo se escribió el compilador de Java en Java de esta manera:

El compilador de Java se escribe como un programa Java y luego se compila con el compilador de Java escrito en C (el primer compilador de Java). Por lo tanto, podemos utilizar el compilador Java recién compilado (escrito en Java) para compilar programas Java.

shrinath avatar Jul 21 '2013 17:07 shrinath