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:
- Í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.
- Fordítsa le a JAVA kódot, és konvertálja a kódot bájtkódra.
- Hozzon létre egy C / C ++ fejléc fájlt, amely natív függvényaláírást tartalmaz, amelyet meg kell hívni.
- A C / C ++ írási kód natív módszerrel rendelkezik.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- A natív kulcsszót kell használni a módszer neve előtt.
- 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.
- A natív módszereket nem lehet absztrakt módszernek nyilvánítani.
- 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.
- 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 -
- JTabbedPane Java-ban
- Védett kulcsszó a Java-ban
- Java virtuális gép
- Swing alkatrészek Java-ban
- C ++ Kulcsszavak