Natív kulcsszó a Java-ban Hogyan működik a natív kulcsszó? (Példa)

Tartalomjegyzék:

Anonim

Bevezetés a natív kulcsszóból a Java-ban

A natív kulcsszó összeköttetést jelent a JAVA nyelv és a különféle nyelveken írt kódrészlet vagy könyvtár között, kivéve a JAVA-t, amely attól függ, hogy a számítógépet használja. Ha a natív kulcsszót alkalmazzák egy módszerhez, akkor ez azt jelenti, hogy a módszert más nyelven (például C vagy C ++) írt natív kód használatával valósítják meg a JNI-n (JAVA natív interfész) keresztül.

Szintaxis

A natív kód szintaxisa megegyezik a normál funkciódefinícióval, a funkció beindításakor hozzáadott „natív” kulcsszóval.

Például:

Public class testing
(public native String testMethod (String parameter);)

Itt a nyilvánosság hozzáférés-módosító. Nyilvánosnak kell lennie, hogy egy másik fájl tudja használni. A karakterlánc a függvény visszatérési adattípusa. A kulcsszótól függően egész szám, karakter vagy logikai érték lehet. Az ehhez a funkcióhoz átadott paraméter adattípus-karakterlánc is. Mindent osztály alatt kell tartani.

A függvény deklarálása után ezt a függvényt hívjuk meg létrehozott objektum és a betöltött könyvtár segítségével.

public static void main(String() args)
(
System.loadLibrary("testing");
testing testingnew = new testing();
String output = testingnew.stringMethod("NATIVE");
)

A fent meghatározott könyvtárat előbb be kell tölteni, és létre kell hozni az objektumát. Ennek az objektumnak a segítségével a natív függvényt hívják.

Hogyan működik a natív kulcsszó?

Két fájlnak kell lennie. Az egyik JAVA kódot tartalmaz, míg a másiknak C / C ++ régi kóddal kell rendelkeznie. A Java kódot használják a régi kód meghívására. Ez a régi kód kölcsönhatásba lép a hardverrel, és visszatér a várt outputhoz.

Ha az örökölt kód kölcsönhatásba lép a hardverrel, akkor nem fogja követni a JAVA által meghatározott irányelveket. Ez a kód elvégzi a kívánt feldolgozást, hogy megkapja a kimenetet és továbbítsa az eredményeket a JNI-nek. A Java natív interfész ezt követően ellenőrzi a natív kódra vonatkozó összes szabályt tartalmazó könyvtárában (Ez az SDK-ban a javah.exe nevű fájl alatt található). A JNI a Java eszközkészlet része. A feldolgozás után a JAVA maga a JAVA nyelven közzéteszi a kimeneteket. Amikor a programot JAVA-ban készítjük, akkor ellenőriznünk kell, hogy változó / adatfolyam-kapcsolat van-e a JAVA fájl és az örökölt fájl között, hogy egyenletes adatáramlás legyen mindkettő között.

Az alábbiakban ismertetjük a natív kulcsszavak használatának magyarázatát:

  1. Írja be a natív módszert tartalmazó JAVA kódot, a betöltött megosztott könyvtárat, és mentse el a „filename.JAVA” használatával.
  2. Fordítsa le a JAVA kódot, és konvertálja a kódot bájtkódra.
  3. Hozzon létre egy C / C ++ fejléc fájlt, amely natív függvényaláírást tartalmaz, amelyet meg kell hívni.
  4. A C / C ++ írási kód natív módszerrel rendelkezik.
  5. Futtassa a JAVA futtatható fájlt az eredmények megtekintéséhez.

Példa

Írjunk kódot az Eclipse-be, és futtassuk a kód létrehozásával egy könyvtárat, amelynek felhasználásával a C-kód végrehajtásra kerül.

Kód : com.slackerOne csomag;

public class JPP (
public static native void pAccess();
public static native int pRead();
public static native void pWrite(int port, int output);
static(
System.loadLibrary("JPPlibs");
)
public void jAccess()(
JPP.pAccess();
)
public int jRead()(
return JPP.pRead();
)
public void jWrite(int port, int output)(
JPP.pWrite(port, output);
)
)

Miután elmentette ezt a kódot a java projekt új „osztályába”. Be kell állítanunk egy futó környezetet a fejléc fájl létrehozásához.

Amikor ezt futtatjuk, létre kell hoznunk egy könyvtárat.

Kimenet:

Itt létrehoztuk a fejléc fájlt a java kódból, amely hivatkozásként szolgál majd a natív kód és a java nyelv között.

A natív kulcsszó előnyei a Java-ban

  1. További előnyt jelent a JAVA számára, ha kölcsönhatásba lép más nyelven írt kóddal, és csökkenti a munkát, hogy ugyanaz a kód íródjon a JAVA-ban, ezáltal csökkentve a kód redundanciáját.
  2. Javítja az általános kódteljesítményt. Mivel a kód más nyelveken van írva, lehet, hogy gyorsabb, ha a gépi nyelvvel működik, összehasonlítva a JAVA-val. Ezt követően a JAVA program segítségével hívhatjuk meg ezt a kódot.
  3. Ezzel a megközelítéssel közvetlenül adhatunk rendszerhívásokat. A külső interferencia valószínűségének csökkentése és a kód végrehajtásának gyorsítása.
  4. Dinamikusan felhívhatja az előre betöltött könyvtárat (a JAVA-tól eltérő nyelven írva), a JAVA-ban írt önkényes vezetési kód használatával, és továbbra is kaphat választ a JAVA-ban.
  5. Ez lehetővé teszi a JAVA számára, hogy elérje azokat a hardver erőforrásokat, amelyeket csak más nyelvek használhatnak.
  6. Ha van egy platformfüggő kód, amely már felépült az alkalmazásához, és amelynek szolgáltatásai nem támogatottak a JAVA-n, akkor rendelkezhetünk natív kóddal, és natív kulcsszón keresztül összekapcsolhatjuk ezt a natív kódot a JAVA-val.

szabályok

  1. A natív kulcsszót kell használni a módszer neve előtt.
  2. A natív módszer deklarációjának nincs része és pontosvesszővel kell végződnie, mivel ezeket a módszereket a JAVA nem határozza meg, de C / C ++ nyelven vannak jelen.
  3. A natív módszereket nem lehet absztrakt módszernek nyilvánítani.
  4. Mivel nincs garancia, hogy az előző régi kódot az IEEE 754 szabványnak megfelelően írták-e (a Lebegőpontos számtani IEEE szabvány a lebegőpontos számtani műszaki szabvány, amelyet az Elektromos és Elektronikai Mérnöki Intézet 1985-ben hozott létre), ezért, ezeket a natív módszereket nem mondhatjuk szigorúnak.
  5. A Java natív interfész (JNI) specifikációt a JAVA fejlesztette ki annak érdekében, hogy meghatározza a natív módszerek - például az adattípusok Java és a natív kód közötti konvertálása - végrehajtására vonatkozó szabályokat és nyilatkozatokat.

Következtetés

A natív kulcsszó az, amely áthidalja a különbséget az anyanyelv és a JAVA között. Ez akkor használható kritikus linkként, ha szoftverünk hardverrel való interakciója inkább a hatékony kód megszerzése érdekében létezik. Csökkenti a végrehajtási munkát, mint egy új alkalmazáskód tervezése a semmiből, bárhol elkerülhető lenne.

Ajánlott cikkek

Ez egy útmutató a Java natív kulcsszavaihoz. Itt tárgyaljuk, hogyan működik a natív kulcsszó a példákkal, valamint az előnyökkel és a szabályokkal. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. JTabbedPane Java-ban
  2. Védett kulcsszó a Java-ban
  3. Java virtuális gép
  4. Swing alkatrészek Java-ban
  5. C ++ Kulcsszavak