GeeksforGeeks

Het native keyword wordt toegepast op een methode om aan te geven dat de methode is geïmplementeerd in native code met behulp van JNI (Java Native Interface). native is een modifier die alleen van toepassing is op methoden en we kunnen het nergens anders toepassen. De methoden die in C, C++ zijn geïmplementeerd, worden native methoden of foreign methoden genoemd.

De belangrijkste doelstellingen van native keyword zijn:

  • De prestaties van het systeem verbeteren.
  • Het bereiken van communicatie op machineniveau/geheugenniveau.
  • Het gebruik van reeds bestaande legacy niet-java code.

Pseudo code om native keyword in java te gebruiken:

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();
}
}



Belangrijke punten over native keyword:

  • Voor native methods is de implementatie al beschikbaar in oude talen als C, C++ en wij zijn niet verantwoordelijk om de implementatie te verzorgen. Daarom moet native method-declaratie eindigen met ; (puntkomma).
  • We kunnen native methodes niet als abstract declareren.
  • We kunnen native methodes niet als strictfp declareren omdat er geen garantie is dat oude talen (C, C++) de IEEE 754 standaard volgen. Daarom is de combinatie native strictfp een illegale combinatie voor methodes.
  • Het belangrijkste voordeel van native keyword is verbetering in performance, maar het belangrijkste nadeel van native keyword is dat het platform-onafhankelijke karakter van java wordt verbroken.

Het declareren van Native Methods: In deze paragraaf leggen we uit hoe je een native methode in Java declareert en hoe je het bijbehorende C/C++ functieprototype genereert.

private native String getLine(String prompt);

Van de kant van de Native Language:

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

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

Dit artikel is bijgedragen door Bishal Kumar Dubey. Als je GeeksforGeeks leuk vindt en een bijdrage wilt leveren, kun je ook een artikel schrijven via contribute.geeksforgeeks.org of mail je artikel naar [email protected]. Zie je artikel verschijnen op de GeeksforGeeks hoofdpagina en help andere Geeks.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.