Alkuperäinen avainsana Java - Kuinka alkuperäinen avainsana toimii? (Esimerkki)

Sisällysluettelo:

Anonim

Alkuperäisen avainsanan esittely Java-ohjelmassa

Alkuperäinen avainsana toimii linkkinä JAVA-kielen ja eri kielillä kirjoitetun koodipaketin tai kirjaston välillä, paitsi JAVA, joka saattaa olla riippuvainen käyttämästäsi koneesta. Jos natiiviavainta käytetään menetelmässä, se tarkoittaa, että menetelmä toteutetaan käyttämällä jollekin muulle kielelle (kuten C tai C ++) kirjoitettua natiivikoodia JNI: n (JAVA-natiivi käyttöliittymä) kautta.

Syntaksi

Natiivinkoodin syntaksi on sama kuin normaalin funktion määritelmä funktion alussa lisätyn natiivin avainsanan kanssa.

Esimerkiksi:

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

Täällä yleisö on pääsyn muokkaaja. Sen tulisi olla julkinen, jotta toinen tiedosto voi käyttää sitä. Merkkijono on funktion paluutiedot. Se voi olla kokonaisluku, merkki tai looginen avainsanasta riippuen. Tälle toiminnolle siirretty parametri on myös datatyyppijono. Kaikki tulisi pitää alaluokassa.

Toiminnon ilmoituksen jälkeen kutsumme tätä toimintoa luodun objektin ja ladatun kirjaston kautta.

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

Edellä määritelty kirjasto tulisi ladata ensin ja sen kohde luodaan. Tämän objektin avulla natiivitoiminto kutsutaan.

Kuinka alkuperäinen avainsana toimii?

Tiedostoja tulisi olla kaksi. Yksi sisältää JAVA-koodin, kun taas toisessa pitäisi olla vanha C / C ++ -koodi. Java-koodia käytetään soittamaan vanhaan koodiin. Tämä vanha koodi on vuorovaikutuksessa laitteiston kanssa ja palauttaa odotetun tuloksen.

Kun vanha koodi on vuorovaikutuksessa laitteiston kanssa, se ei seuraa JAVA: n antamia ohjeita. Tämä koodi suorittaa halutun prosessoinnin tuloksen saamiseksi ja tulosten siirtämiseksi JNI: lle. Java-alkuperäinen käyttöliittymä tarkistaa sitten hakemistostaan, joka sisältää kaikki alkuperäistä koodia koskevat säännöt (Tämä sisältyy tiedostoon nimeltä javah.exe SDK: ssa). JNI on suunniteltu osana Java-työkalupakkia. Tämän käsittelyn jälkeen JAVA julkaisee ulostulot itse JAVA-kielellä. Kun luot ohjelmaa JAVA: ssa, meidän on varmistettava, että JAVA-tiedoston ja vanhan tiedoston välillä on muuttuva / tiedonsiirtolinkki, jotta näiden välillä on sujuva tiedonkulku.

Seuraavassa annetaan vaiheet, jotka selittävät natiivien avainsanojen hyödyntämistä:

  1. Kirjoita nata-menetelmää sisältävä JAVA-koodi, ladattu jaettu kirjasto ja tallenna se käyttämällä ”tiedostonimi.JAVA”.
  2. Käännä JAVA-koodi ja muunna koodi tavukoodiksi.
  3. Luo C / C ++-otsikkotiedosto, joka sisältää alkuperäisen funktion allekirjoituksen, jota kutsutaan.
  4. Write C / C ++ -koodilla on alkuperäinen menetelmä.
  5. Suorita JAVA-suoritettava tiedosto nähdäksesi tulokset.

esimerkki

Meidän pitäisi kirjoittaa koodi Eclipse-ohjelmaan ja suorittaa koodi luodaksesi kirjasto, jonka avulla C-koodi toteutetaan.

Koodi : paketti 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);
)
)

Tallennettuaan tämän koodin java-projektin uuteen ”luokkaan”. Meidän on määritettävä ajoympäristö otsikkotiedoston luomiseksi.

Kun suoritamme tämän, meidän pitäisi saada kirjasto luomaan.

lähtö:

Täällä loimme otsikkotiedoston Java-koodista, joka toimii linkinä natiivikoodin ja Java-kielen välillä.

Alkuperäisen avainsanan edut Java-sovelluksessa

  1. Se tarjoaa lisäetuksi JAVA: lle vuorovaikutuksessa muilla kielillä kirjoitetun koodin kanssa ja vähentää työtä, jotta sama koodi olisi kirjoitettu JAVA: ssa, mikä vähentää koodin redundanssia.
  2. Se parantaa koodin yleistä suorituskykyä. Koska koodi on kirjoitettu muilla kielillä, se voi olla nopeampi, kun se toimii konekielen kanssa verrattuna JAVA: hon. Voimme sitten käyttää Java-ohjelmaa tämän koodin soittamiseen.
  3. Tätä lähestymistapaa käyttämällä voimme antaa suoraan järjestelmäpuhelut. Vähentämällä ulkoisten häiriöiden todennäköisyyttä ja parantamalla koodin suorituksen nopeutta.
  4. Voit soittaa dynaamisesti esiasennettuihin kirjastoihin (kirjoitettu muulla kielellä kuin JAVA) käyttämällä mielivaltaista Java-kirjoitettua ajokoodia ja saada silti vastauksen JAVA: ssa.
  5. Se tekee JAVA: n käytettäväksi laitteistoresurssien kanssa, jotka ovat käytettävissä vain muiden kielten käytettäväksi.
  6. Siinä tapauksessa, että sinulla on jo sovelluksellesi rakennettu käyttöjärjestelmäriippuvainen koodi ja jonka ominaisuuksia ei tueta JAVA: n kautta, meillä voi olla natiivikoodi ja linkittää tämä natiivikoodi JAVA: hon natiivisanan kautta.

säännöt

  1. Alkuperäistä avainsanaa on käytettävä ennen menetelmän nimeä.
  2. Alkuperäisen menetelmän ilmoituksella ei ole runkoa, ja sen tulisi päättyä puolipisteellä, koska näitä menetelmiä ei ole määritelty JAVA: ssa, mutta ne esiintyvät C / C ++ -kielellä.
  3. Alkuperäisiä menetelmiä ei voida julistaa abstraktiksi menetelmäksi.
  4. Koska ei ole varmuutta siitä, onko aiempi vanha koodi kirjoitettu IEEE 754 -standardin mukaisesti (IEEE-liukulukuaritmeettinen standardi on liukulukujen aritmeettisen tekniikan standardi, jonka vuonna 1985 perusti sähkö- ja elektroniikkainsinöörien instituutti), niin, emme voi julistaa näitä natiivimenetelmiä tiukaisiksi.
  5. Java Native Interface (JNI) -määritys on suunniteltu JAVA: n määrittelemään sääntöjä ja ilmoituksia natiivimenetelmien toteuttamiseksi, kuten tietotyyppien muuntaminen Java: n ja natiivin koodin välillä.

johtopäätös

Alkuperäinen avainsana on, joka siltaa kuilun äidinkielen ja JAVA: n välillä. Tätä voidaan käyttää kriittisenä linkinä, jos ohjelmistomme vuorovaikutus laitteiston kanssa on tehokkaamman koodin saamiseksi aiemmin luodulla koodilla. Se vähentää käyttöönottoa vähemmän kuin uuden sovelluskoodin suunnittelussa tyhjästä, aina kun sitä voidaan välttää.

Suositellut artikkelit

Tämä on opas Natiivin avainsanoihin. Tässä keskustellaan siitä, kuinka natiivi avainsana toimii esimerkkien kanssa, samoin kuin eduista ja säännöistä. Saatat myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. JTabbedPane Java
  2. Suojattu avainsana Java
  3. Java-virtuaalikone
  4. Käännä komponentit Java
  5. C ++ avainsanat