Natívne kľúčové slovo v jazyku Java Ako funguje natívne kľúčové slovo? (Príklad)

Obsah:

Anonim

Úvod do natívneho kľúčového slova v jazyku Java

Natívne kľúčové slovo slúži ako spojenie medzi jazykom JAVA a kusom kódu alebo knižnice napísanou v rôznych jazykoch, s výnimkou jazyka JAVA, ktorý môže závisieť od počítača, na ktorom pracujete. Ak sa natívne kľúčové slovo použije na metódu, znamená to, že metóda sa implementuje pomocou natívneho kódu napísaného v inom jazyku (napríklad C alebo C ++) prostredníctvom JNI (natívne rozhranie JAVA).

syntax

Syntax natívneho kódu je rovnaká ako definícia normálnej funkcie s kľúčovým slovom „natívny“ pridaným na začiatku funkcie.

Napríklad:

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

Verejnosť je tu modifikátor prístupu. Malo by byť verejné, aby ho mohol používať iný súbor. Reťazec je typ návratovej funkcie. V závislosti od kľúčového slova môže byť celé číslo, znak alebo booleovské. Parameter odovzdaný do tejto funkcie je tiež reťazec dátového typu. Všetko by sa malo udržiavať podtriedy.

Po deklarovaní funkcie túto funkciu nazývame vytvoreným objektom a načítaním knižnice.

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

Knižnica definovaná vyššie by sa mala načítať ako prvá a vytvorí sa jej objekt. Pomocou tohto objektu sa vyvolá natívna funkcia.

Ako funguje natívne kľúčové slovo?

Mali by existovať dva súbory. Jeden obsahujúci kód JAVA, zatiaľ čo druhý by mal mať starý kód C / C ++. Na volanie staršieho kódu sa použije kód Java. Tento starý kód bude interagovať s hardvérom a vráti očakávaný výstup.

Keď starý kód interaguje s hardvérom, nebude sa riadiť pokynmi spoločnosti JAVA. Tento kód vykoná požadované spracovanie, aby získal výstup a odovzdal výsledky JNI. Prirodzené rozhranie Java potom skontroluje v adresári, ktorý obsahuje všetky pravidlá týkajúce sa natívneho kódu (patrí do súboru s názvom javah.exe v súprave SDK). JNI je navrhnutý ako súčasť sady nástrojov Java. Po tomto spracovaní bude JAVA publikovať výstupy v samotnom jazyku JAVA. Keď vytvárame program v JAVA, musíme sa uistiť, že medzi súborom JAVA a starým súborom existuje spojenie s premenlivým tokom údajov a starým súborom, aby medzi nimi existoval plynulý tok údajov.

Kroky vysvetľujúce spôsob použitia natívnych kľúčových slov sú uvedené nižšie:

  1. Napíšte kód JAVA obsahujúci natívnu metódu, načítanú zdieľanú knižnicu a uložte ju pomocou súboru „filename.JAVA“.
  2. Zostavte kód JAVA a skonvertujte ho na bajtkód.
  3. Vytvorte súbor hlavičky C / C ++ obsahujúci podpis natívnej funkcie, ktorý by sa mal volať.
  4. Zápis kódu C / C ++ má implementáciu natívnej metódy.
  5. Spustením spustiteľného súboru JAVA zobrazíte výsledky.

príklad

Mali by sme napísať kód do Eclipse a spustiť kód na vytvorenie knižnice, pomocou ktorej bude implementovaný C kód.

Kód : package 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);
)
)

Po uložení tohto kódu do novej „triedy“ projektu java. Musíme vytvoriť prostredie na spustenie, aby sa vygeneroval súbor hlavičky.

Keď to spustíme, mali by sme vygenerovať knižnicu.

Výkon:

Tu sme vytvorili hlavičkový súbor z kódu java, ktorý bude slúžiť ako spojenie medzi natívnym kódom a jazykom java.

Výhody natívneho kľúčového slova v jazyku Java

  1. Poskytuje JAVA ďalšiu výhodu pri interakcii s kódom napísaným v iných jazykoch a obmedzuje prácu tak, aby bol rovnaký kód napísaný v JAVA, čím sa zníži redundancia kódu.
  2. Zlepšuje celkový výkon kódu. Pretože kód je napísaný v iných jazykoch, môže byť rýchlejší, keď pracuje s jazykom stroja v porovnaní s JAVA. Potom môžeme pomocou programu JAVA zavolať tento kód.
  3. Pomocou tohto prístupu môžeme priamo uskutočniť systémové hovory. Zníženie pravdepodobnosti vonkajšieho rušenia a zlepšenie rýchlosti vykonávania kódu.
  4. Predinštalovanú knižnicu (napísanú v akomkoľvek inom jazyku ako JAVA) môžete dynamicky volať pomocou ľubovoľného kódu riadenia napísaného v JAVA a stále získať odpoveď v JAVA.
  5. Umožňuje spoločnosti JAVA prístup k hardvérovým prostriedkom, ktoré sú dostupné len na použitie v iných jazykoch.
  6. V prípade, že už máte pre svoju aplikáciu vytvorený kód závislý od platformy a ktorého funkcie nie sú podporované prostredníctvom JAVA, môžeme mať natívny kód a tento natívny kód prepojiť s JAVA pomocou natívneho kľúčového slova.

pravidlá

  1. Natívne kľúčové slovo sa má použiť pred názvom metódy.
  2. Vyhlásenie o natívnej metóde nemá telo a malo by sa končí bodkočiarkou, pretože tieto metódy nie sú definované v JAVA, ale sú prítomné v jazyku C / C ++.
  3. Natívne metódy nemožno deklarovať ako abstraktné metódy.
  4. Keďže nie je žiadna istota, ak je predchádzajúci starý kód napísaný v súlade s normou IEEE 754 (Norma IEEE pre aritmetiku s pohyblivou rádovou čiarkou je technická norma pre aritmetiku s pohyblivou rádovou čiarkou založená v roku 1985 Inštitútom elektrických a elektronických inžinierov), nemôžeme deklarovať tieto natívne metódy ako prísne postupy.
  5. Špecifikácia Java Native Interface (JNI) je navrhnutá spoločnosťou JAVA na definovanie pravidiel a vyhlásení na implementáciu natívnych metód, ako je napríklad konverzia typov údajov medzi Java a natívnym kódom.

záver

Natívne kľúčové slovo je preklenutím priepasti medzi rodnými jazykmi a JAVA. Môže sa to použiť ako kritický odkaz, ak interakcia nášho softvéru s hardvérom slúži na získanie účinnejšieho kódu pomocou už existujúceho kódu. Vďaka tomu je implementácia v porovnaní s navrhovaním nového kódu aplikácie od nuly všade, kde by sa dalo vyhnúť.

Odporúčané články

Toto je sprievodca po natívnom kľúčovom slove v jazyku Java. Tu diskutujeme o tom, ako natívne kľúčové slovo pracuje s príkladmi, výhodami a pravidlami. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. JTabbedPane v Jave
  2. Chránené kľúčové slovo v jazyku Java
  3. Virtuálny stroj Java
  4. Swing komponenty v Jave
  5. C ++ Kľúčové slová