GeeksforGeeks

A natív kulcsszót egy metódusra alkalmazzuk, hogy jelezzük, hogy a metódus natív kódban van implementálva a JNI (Java Native Interface) segítségével.A natív egy módosító, ami csak a metódusokra alkalmazható, máshol nem tudjuk alkalmazni. A C-ben, C++-ban implementált metódusokat natív metódusoknak vagy idegen metódusoknak nevezzük.

A natív kulcsszó fő céljai:

  • A rendszer teljesítményének javítása.
  • Gépi szintű/memória szintű kommunikáció elérése.
  • A már meglévő, nem Java kódú örökölt kód felhasználása.

Pszeudokód a java natív kulcsszó használatához:

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



Fontos pontok a natív kulcsszóról:

  • A natív metódusok implementációja már elérhető a régi nyelvekben, mint a C, C++, és nem mi vagyunk felelősek az implementáció biztosításáért. Ezért a natív metódus deklarációjának ;-vel (pontosvesszővel) kell végződnie.
  • Nem deklarálhatjuk a natív metódust absztraktnak.
  • Nem deklarálhatjuk a natív metódust strictfp-nek, mert nincs garancia arra, hogy a régi nyelvek (C, C++) követik az IEEE 754 szabványt. Ezért a natív strictfp kombináció illegális kombináció a metódusoknál.
  • A natív kulcsszó fő előnye a teljesítményjavulás, de a natív kulcsszó fő hátránya, hogy megbontja a java platformfüggetlenségét.

Natív metódusok deklarálása:

private native String getLine(String prompt);

Natív nyelvi oldalról:

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

Hivatkozás:http://www.codejava.net/java-core/the-java-language/native-keyword

A cikk szerzője: Bishal Kumar Dubey. Ha tetszik a GeeksforGeeks és szeretnél hozzájárulni, írj cikket a contribute.geeksforgeeks.org címen, vagy küldd el cikkedet a [email protected] címre. Láthatod, hogy a cikked megjelenik a GeeksforGeeks főoldalán, és segíthetsz más geekeknek.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.