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ä.