GeeksforGeeks

Native keyword appliceras på en metod för att indikera att metoden är implementerad i native code med hjälp av JNI (Java Native Interface).native är ett modifieringsord som endast gäller för metoder och vi kan inte använda det någon annanstans. De metoder som implementeras i C, C++ kallas för nativa metoder eller utländska metoder.

De huvudsakliga målen för det nativa nyckelordet är:

  • Att förbättra systemets prestanda.
  • Att uppnå kommunikation på maskinnivå/minnesnivå.
  • Att använda redan befintlig äldre icke-Java-kod.

Pseudokod för att använda native keyword i 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();
}
}



Väsentliga punkter om det inhemska nyckelordet:

  • För nativa metoder finns det redan en implementering i gamla språk som C och C++ och vi är inte ansvariga för att tillhandahålla en implementering. Därför bör deklarationen av native method sluta med ; (semikolon).
  • Vi kan inte deklarera native method som abstrakt.
  • Vi kan inte deklarera native method som strictfp eftersom det inte finns någon garanti för att gamla språk (C, C++) följer IEEE 754-standarden. Därför är kombinationen native strictfp en olaglig kombination för metoder.
  • Den största fördelen med nyckelordet native är att det förbättrar prestandan, men den största nackdelen med nyckelordet native är att det bryter mot Javas plattformsoberoende karaktär.

Deklarering av native metoder: I det här avsnittet förklarar vi hur man deklarerar en native metod i Java och hur man genererar motsvarande prototyp för C/C++-funktionen.

private native String getLine(String prompt);

Från det nativa språkets sida:

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

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

Den här artikeln har bidragits av Bishal Kumar Dubey. Om du gillar GeeksforGeeks och vill bidra kan du också skriva en artikel via contribute.geeksforgeeks.org eller maila din artikel till [email protected]. Se din artikel dyka upp på GeeksforGeeks huvudsida och hjälp andra Geeks.

Lämna ett svar

Din e-postadress kommer inte publiceras.