GeeksforGeeks

Natiivi avainsanaa käytetään metodiin ilmaisemaan, että metodi on toteutettu natiivilla koodilla käyttäen JNI:tä (Java Native Interface).Natiivi on modifiointimerkki, jota voidaan soveltaa vain metodeihin, emmekä voi käyttää sitä muualla. Metodeja, jotka on toteutettu C:llä, C++:lla, kutsutaan natiiveiksi metodeiksi tai ulkomaisiksi metodeiksi.

Natiivi-avainsanan päätavoitteet ovat:

  • JÄRJESTELMÄN SUORITUSKYKY Parantaa järjestelmän suorituskykyä.
  • Saavuttaa konetason/muistitason kommunikaatio.
  • Hyödyntää jo olemassa olevaa perintökoodia, joka ei ole Javaa.

Pseudokoodi javan natiivin avainsanan käyttämiseksi:

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



Tärkeitä seikkoja natiivista avainsanasta:

  • Natiivien metodien toteutus on jo saatavilla vanhoissa kielissä, kuten C, C++, emmekä ole vastuussa toteutuksen tarjoamisesta. Siksi natiivimetodi-ilmoituksen tulisi päättyä ;:hen (puolipiste).
  • Emme voi ilmoittaa natiivimetodia abstraktiksi.
  • Emme voi ilmoittaa natiivimetodia strictfp:ksi, koska ei ole mitään takeita siitä, että vanhat kielet (C, C++) noudattavat IEEE 754 -standardia. Näin ollen natiivin strictfp-yhdistelmä on laiton yhdistelmä metodeille.
  • Natiivin avainsanan tärkein etu on suorituskyvyn paraneminen, mutta natiivin avainsanan suurin haittapuoli on, että se rikkoo javan alustariippumattoman luonteen.

Natiivien metodien ilmoittaminen: Tässä osiossa selitetään, miten natiivimetodi julistetaan Javassa ja miten vastaava C/C++-funktion prototyyppi luodaan.

private native String getLine(String prompt);

Natiivikielen puolelta:

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

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

Tämän artikkelin on kirjoittanut Bishal Kumar Dubey. Jos pidät GeeksforGeeksistä ja haluat osallistua, voit myös kirjoittaa artikkelin osoitteessa contribute.geeksforgeeks.org tai lähettää artikkelisi sähköpostitse osoitteeseen [email protected]. Näet artikkelisi näkyvän GeeksforGeeksin pääsivulla ja autat muita nörttejä.

Vastaa

Sähköpostiosoitettasi ei julkaista.