2011-07-02 16 views
5

He pasado algún tiempo aprendiendo qué son los métodos Java Native y que se implementan en código dependiente de la plataforma (principalmente C).Métodos nativos en Java

Pero, ¿dónde puedo encontrar esas implementaciones nativas de Java? Por ejemplo: el método sleep (long millis) de la clase Thread es nativo. Pero, ¿dónde está su código de implementación?

+1

¿Quizás aquí? http://stackoverflow.com/questions/2292629/where-to-find-source-code-for-java-lang-native-methods –

Respuesta

4

El código nativo se implementa dentro de la JVM (Java Virtual Machine). Se supone que el desarrollador de Java no debe preocuparse por su implementación, ya que se relacionan con el funcionamiento interno de la máquina virtual. Sin embargo, puede escribir sus propios métodos nativos usando JNI o ​​ver cómo se implementan para una JVM específica.

+0

a jihedamine .. . Puedo escribir mis propios métodos nativos ????? Qué emocionante ... ¿Me puede demostrar una implementación de método nativo de muestra? – killerCoder

+0

@killerCoder: echa un vistazo a Google para encontrar enlaces en JNI (Java Native Interface) o probablemente incluso mejor (en mi opinión), JNA (Java Native Access). –

+0

Aquí hay un ejemplo: http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html#examp –

4

¿Pero dónde puedo encontrar esas implementaciones nativas de Java?

Vas a tener que descargar el código fuente completo de algunos de JDK. En OpenJDK por ejemplo, encontrará una gran cantidad de archivos relacionados con las discusiones:

./jdk/src/share/native/java/lang/Thread.c 
1

se puede encontrar el implementaciones de estas funciones en el código fuente de su JRE. P.ej. el código fuente de OpenJDK 6 es here.

+0

Gracias a todos por su ayuda ..... :-) – killerCoder

1

Cada JVM tiene su propia implementación. Puede encontrar la implementación de OpenJDK aquí: http://openjdk.java.net/

Cuestiones relacionadas