2009-04-17 6 views

Respuesta

5

La manera más fácil de averiguarlo es solo mirar el source code (que proviene del sitio web J2SE de Sun. También existe la fuente OpenJDK para 6 y 7). Es más o menos lo que cabría esperar, cosas que absolutamente tienen escritos en código nativo, p. "abrir un socket o un archivo" son nativos, pero casi todo lo demás está escrito en Java (en la implementación de Sun, de todos modos).

+0

Wow Jon! ¿¡También conoces a Java !? Acabo de comprar "C# In Depth". Es muy bueno. Felicidades! –

+0

Java es mi trabajo diario - C# es mi pasión :) Me alegra que estés disfrutando el libro. Por favor, házmelo saber lo que te gustaría ver en la 2da edición: http://msmvps.com/jon.skeet –

+0

Skeeted por 32 segundos. *suspiro* –

4

¡Descargue OpenJDK y descubra!

La mayor parte es Java, pero hay algunas cosas de bajo nivel que deben ser código nativo (me vienen a la mente las operaciones de gráficos y archivos).

0

No tengo números, pero debería ser fácil de calcular.

Si desea tener en cuenta el número total de métodos de la API para calcular un%, puede contar el número total y los que tienen la palabra clave nativa en sus definiciones.

Puede realizar este cálculo analizando el código fuente de implementación de código abierto de SUN.

2

¡Descarga Apache Harmony y descúbrelo!

Alrededor del 85% de Sun's JRE está escrito en Java. De hecho, muy poco tiene que estar escrito en código nativo. Jikes RVM de IBM (anteriormente Jalapeño) y Maxine de Sun son JVM escritas casi en su totalidad en Java. La mayoría del código nativo en Sun's JRE es nativo por razones heredadas. Algunos porque es conveniente. Una cantidad muy pequeña es nativa porque es (o era) fraccionalmente más rápida.