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.