Izvorna ključna riječ na Javi - Kako funkcionira ključna riječ Native? (Primjer)

Sadržaj:

Anonim

Uvod o izvornoj ključnoj riječi na Javi

Izvorna ključna riječ djeluje kao poveznica između jezika JAVA i komada koda ili biblioteke napisanih na različitim jezicima, osim JAVA-e koji može ovisiti o stroju na kojem radite. Ako se nativna ključna riječ primijeni na metodu, to znači da će se metoda primijeniti korištenjem izvornog koda napisanog na nekom drugom jeziku (poput C ili C ++) putem JNI (izvornog sučelja JAVA).

Sintaksa

Sintaksa nativnog koda jednaka je definiciji normalne funkcije s ključnom riječi "native" koja je dodana na početku funkcije.

Na primjer:

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

Ovdje je javnost modifikator pristupa. Treba biti javan tako da ga može koristiti druga datoteka. Niz je vrsta povratnih podataka funkcije. Ovisno o ključnoj riječi može biti cijeli, znakovni ili logični. Parametar prosljeđen ovoj funkciji je i niz podataka. Sve treba držati podklase.

Nakon deklaracije funkcije, ovu funkciju nazivamo pomoću objekta stvorenog i učitane biblioteke.

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

Prethodno definirana biblioteka trebala bi se prvo učitati i stvoriti n njezin objekt. Uz pomoć ovog objekta naziva se nativna funkcija.

Kako funkcionira ključna riječ Native?

Trebale bi postojati dvije datoteke. Jedan sadrži JAVA kôd, a drugi treba imati naslijeđeni C / C ++. Za pozivanje naslijeđenog koda koristit će se Java kod. Taj će naslijeđeni kod komunicirati s hardverom i vratiti očekivani izlaz.

Kad naslijeđeni kôd komunicira s hardverom, tada neće slijediti smjernice JAVA. Ovaj kôd će izvršiti željenu obradu kako bi se dobio izlaz i proslijedili rezultati JNI. Java izvorno sučelje će tada provjeriti u svom direktoriju koji sadrži sva pravila koja se odnose na matični kod (ovo se nalazi pod datotekom pod nazivom javah.exe u SDK-u). JNI je zamišljen kao dio Java alata. Nakon ove obrade, JAVA će objaviti rezultate na samom jeziku JAVA. Kada stvaramo program u JAVA-i, tada moramo biti sigurni da postoji varijabilna veza / protok podataka između datoteke JAVA i naslijeđene datoteke, tako da postoji nesmetan protok podataka između oba.

U nastavku su navedeni koraci koji objašnjavaju kako koristiti izvorne ključne riječi:

  1. Napišite JAVA kôd koji sadrži izvornu metodu, učitava se zajednička biblioteka i spremite je pomoću "filename.JAVA".
  2. Sastavite JAVA kôd i pretvorite ga u bajt kod.
  3. Napravite C / C ++ datoteku zaglavlja koja sadrži izvorni potpis funkcije koji bi trebao biti pozvan.
  4. Pisati C / C ++ kod ima implementaciju izvorne metode.
  5. Pokrenite izvršnu datoteku JAVA da biste vidjeli rezultate.

Primjer

Kôd bismo trebali napisati u programu Eclipse i pokrenuti ga da bismo stvorili knjižnicu pomoću koje će se tada provoditi C kôd.

Šifra : paket com.slackerOne;

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

Nakon što spremite ovaj kôd u novu "klasu" java projekta. Moramo postaviti okruženje za pokretanje da bismo generirali datoteku zaglavlja.

Kad to pokrenemo, trebalo bi stvoriti biblioteku.

Izlaz:

Ovdje smo stvorili zaglavlje datoteke iz java koda koja će djelovati kao poveznica između izvornog koda i java jezika.

Prednosti izvorne ključne riječi u Javi

  1. To JAVA pruža dodatnu prednost u interakciji s kodom napisanim na drugim jezicima i smanjuje rad da isti kod bude napisan u JAVA, čime se smanjuje suvišnost koda.
  2. Poboljšava ukupnu učinkovitost koda. Kako je kod napisan na drugim jezicima, može biti brži kada radi s strojnim jezikom u odnosu na JAVA. Tada možemo koristiti program JAVA za pozivanje ovog koda.
  3. Pomoću ovog pristupa izravno možemo upućivati ​​sistemske pozive. Smanjenje vjerojatnosti vanjskih smetnji i poboljšanje brzine izvršenja koda.
  4. Možete dinamički nazvati unaprijed učitanu biblioteku (napisanu na bilo kojem drugom jeziku osim JAVA) koristeći proizvoljni kod vožnje napisan u JAVA i još uvijek dobiti odgovor u JAVA.
  5. Omogućuje JAVA-u dostupnost hardverskih resursa koji se mogu koristiti samo na drugim jezicima.
  6. U slučaju da se za vašu aplikaciju već nadograđuje kôd koji ovisi o platformi i čije značajke nisu podržane putem JAVA, u tom slučaju možemo imati matični kod i povezati taj izvorni kod s JAVA putem nativne ključne riječi.

pravila

  1. Prije naziva metode treba koristiti nativnu ključnu riječ.
  2. Deklaracija izvorne metode nema tijelo i trebala bi završiti točkom sa zarezom jer ove metode nisu definirane u JAVA, ali su prisutne na jeziku C / C ++.
  3. Nativne metode se ne mogu deklarirati kao apstraktna metoda.
  4. Budući da nije sigurno je li prethodni stari kod napisan u skladu s IEEE 754 standardom (IEEE standard za aritmetiku s plutajućom tačkom je tehnički standard za aritmetiku s pomičnim zarezom koji je 1985. uspostavio Institut inženjera elektrotehnike i elektronike), ne možemo ove nativne metode proglasiti strogim.
  5. Specifikaciju Java Native Interface (JNI) dizajnirala je JAVA kako bi definirala pravila i deklaracije za provedbu nativnih metoda, poput pretvorbe vrsta podataka između Jave i izvornog koda.

Zaključak

Izvorna ključna riječ je koja premošćuje jaz između izvornih jezika i JAVA. Ovo se može koristiti kao kritična veza ako je interakcija našeg softvera s hardverom veća za dobivanje učinkovitog koda pomoću prethodno postojećeg koda. To čini rad na implementaciji manjim u usporedbi s dizajniranjem novog aplikacijskog koda ispočetka, gdje god je to moguće izbjeći.

Preporučeni članci

Ovo je vodič za izvornu ključnu riječ na Javi. Ovdje smo raspravljali o načinu funkcioniranja ključne riječi Native s primjerima, prednostima i pravilima. Možete također pogledati sljedeće članke da biste saznali više -

  1. JTabbedPane na Javi
  2. Zaštićena ključna riječ u Javi
  3. Java virtualni stroj
  4. Swing komponente na Javi
  5. C ++ Ključne riječi