GeeksforGeeks

La palabra clave nativa se aplica a un método para indicar que el método está implementado en código nativo utilizando JNI (Java Native Interface). nativo es un modificador aplicable sólo para los métodos y no podemos aplicarlo en ningún otro lugar. Los métodos que se implementan en C, C++ se denominan métodos nativos o métodos ajenos.

Los principales objetivos de la palabra clave nativa son:

  • Mejorar el rendimiento del sistema.
  • Conseguir una comunicación a nivel de máquina/nivel de memoria.
  • Utilizar código heredado no java ya existente.

Pseudo código para utilizar la palabra clave nativa en java:

Class Native
{
Static
{
System.LoadLibrary("Native library path");
}
Public native void m();
}
Class Test
{
Public static void main(String args)
{
Native n = new Native();
n.m();
}
}



Puntos importantes sobre la palabra clave nativa:

  • Para los métodos nativos la implementación ya está disponible en lenguajes antiguos como C, C++ y no somos responsables de proporcionar la implementación. Por lo tanto, la declaración del método nativo debe terminar con ; (punto y coma).
  • No podemos declarar el método nativo como abstracto.
  • No podemos declarar el método nativo como strictfp porque no hay garantía de que los lenguajes antiguos (C, C++) sigan el estándar IEEE 754. Por lo tanto, la combinación nativa strictfp es una combinación ilegal para los métodos.
  • La principal ventaja de la palabra clave nativa es la mejora en el rendimiento, pero la principal desventaja de la palabra clave nativa es que rompe la naturaleza independiente de la plataforma de java.

Declaración de métodos nativos: En esta sección se explica cómo declarar un método nativo en Java y cómo generar el prototipo de función C/C++ correspondiente.

private native String getLine(String prompt);

Desde el lado del lenguaje nativo:

javah -jni Prompt
JNIEXPORT jstring JNICALL Java_Prompt_getLine(JNIEnv *, jobject, jstring);

Referencia:http://www.codejava.net/java-core/the-java-language/native-keyword

Este artículo ha sido contribuido por Bishal Kumar Dubey. Si te gusta GeeksforGeeks y quieres contribuir, también puedes escribir un artículo en contribute.geeksforgeeks.org o enviarlo por correo a [email protected]. Verás cómo tu artículo aparece en la página principal de GeeksforGeeks y ayudarás a otros Geeks.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.