Natywne słowo kluczowe w Javie - Jak działa słowo kluczowe Native? (Przykład)

Spisie treści:

Anonim

Wprowadzenie do natywnego słowa kluczowego w Javie

Natywne słowo kluczowe działa jako łącze między językiem JAVA a fragmentem kodu lub biblioteki napisanej w różnych językach, z wyjątkiem JAVA, które mogą zależeć od komputera, na którym pracujesz. Jeśli natywne słowo kluczowe zostanie zastosowane do metody, oznacza to, że metoda zostanie zaimplementowana przy użyciu kodu natywnego napisanego w innym języku (np. C lub C ++) za pośrednictwem JNI (natywny interfejs JAVA).

Składnia

Składnia kodu natywnego jest taka sama, jak normalna definicja funkcji, ze słowem kluczowym „native” dodanym na początku funkcji.

Na przykład:

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

Tutaj społeczeństwo jest modyfikatorem dostępu. Powinien być publiczny, aby mógł go użyć inny plik. Ciąg jest zwracanym typem danych funkcji. Może być liczbą całkowitą, znakiem lub wartością logiczną w zależności od słowa kluczowego. Parametrem przekazanym do tej funkcji jest również ciąg typu danych. Wszystko powinno być trzymane w niższej klasie.

Po zadeklarowaniu funkcji wywołujemy tę funkcję za pomocą obiektu utworzonego i załadowanej biblioteki.

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

Biblioteka zdefiniowana powyżej powinna zostać załadowana jako pierwsza, a n jej obiekt jest tworzony. Za pomocą tego obiektu wywoływana jest funkcja natywna.

Jak działa słowo kluczowe Native?

Powinny być dwa pliki. Jeden zawiera kod JAVA, a drugi powinien mieć starszy kod C / C ++. Kod Java zostanie użyty do wywołania starszego kodu. Ten starszy kod będzie współpracował ze sprzętem i zwróci oczekiwany wynik.

Kiedy starszy kod wchodzi w interakcje ze sprzętem, nie będzie zgodny z wytycznymi określonymi przez JAVA. Ten kod wykona pożądane przetwarzanie, aby uzyskać dane wyjściowe i przekazać wyniki do JNI. Natywny interfejs Java sprawdza następnie w swoim katalogu zawierającym wszystkie reguły dotyczące natywnego kodu (znajduje się w pliku javah.exe w SDK). JNI jest zaprojektowany jako część zestawu narzędzi Java. Po tym przetwarzaniu JAVA opublikuje wyniki w samym języku JAVA. Kiedy tworzymy program w JAVA, musimy upewnić się, że istnieje połączenie przepływu zmiennych / danych między plikiem JAVA a plikiem starszego typu, aby przepływ danych między nimi był płynny.

Kroki wyjaśniające, jak korzystać z natywnych słów kluczowych, podano poniżej:

  1. Napisz kod JAVA zawierający metodę natywną, załadowaną bibliotekę współdzieloną i zapisz go, używając „filename.JAVA”.
  2. Skompiluj kod JAVA i przekonwertuj kod na kod bajtowy.
  3. Utwórz plik nagłówka C / C ++ zawierający podpis funkcji rodzimej, który należy wywołać.
  4. Napisz kod C / C ++ ma implementację metody natywnej.
  5. Uruchom plik wykonywalny JAVA, aby zobaczyć wyniki.

Przykład

Powinniśmy napisać kod w Eclipse i uruchomić kod, aby utworzyć bibliotekę, w której następnie zostanie zaimplementowany kod C.

Kod : 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 zapisaniu tego kodu w nowej „klasie” projektu Java. Musimy skonfigurować środowisko uruchamiania, aby wygenerować plik nagłówka.

Kiedy to uruchomimy, powinniśmy wygenerować bibliotekę.

Wynik:

Tutaj utworzyliśmy plik nagłówka z kodu java, który będzie działał jako łącze między kodem rodzimym a językiem java.

Zalety natywnego słowa kluczowego w Javie

  1. Dodatkową zaletą JAVA jest interakcja z kodem napisanym w innych językach i zmniejszenie nakładów pracy przy pisaniu tego samego kodu w JAVA, co zmniejsza redundancję kodu.
  2. Poprawia ogólną wydajność kodu. Ponieważ kod jest pisany w innych językach, może być szybszy, gdy działa z językiem maszynowym w porównaniu do JAVA. Następnie możemy użyć programu JAVA do wywołania tego kodu.
  3. Stosując to podejście, możemy bezpośrednio wywoływać wywołania systemowe. Zmniejszenie prawdopodobieństwa wystąpienia zakłóceń zewnętrznych i zwiększenie szybkości wykonywania kodu.
  4. Możesz dynamicznie wywoływać wstępnie załadowaną bibliotekę (napisaną w dowolnym języku innym niż JAVA) za pomocą dowolnego kodu sterującego napisanego w JAVA i nadal otrzymywać odpowiedź w JAVA.
  5. Umożliwia JAVA dostęp do zasobów sprzętowych, z których mogą korzystać tylko inne języki.
  6. W przypadku, gdy masz już program zależny od platformy, którego funkcje nie są obsługiwane przez JAVA, w takim przypadku możemy mieć kod macierzysty i połączyć ten kod macierzysty z JAVA za pomocą rodzimego słowa kluczowego.

Zasady

  1. Natywnego słowa kluczowego należy użyć przed nazwą metody.
  2. Deklaracja metody natywnej nie ma treści i powinna kończyć się średnikiem, ponieważ metody te nie są zdefiniowane w JAVA, ale występują w języku C / C ++.
  3. Metod rodzimych nie można zadeklarować jako metodę abstrakcyjną.
  4. Ponieważ nie ma pewności, czy poprzedni stary kod został napisany zgodnie ze standardem IEEE 754 (Standard IEEE dla arytmetyki zmiennoprzecinkowej to techniczny standard arytmetyki zmiennoprzecinkowej ustanowiony w 1985 r. Przez Institute of Electrical and Electronics Engineers), nie możemy zadeklarować tych natywnych metod jako strictftp.
  5. Specyfikacja Java Native Interface (JNI) została zaprojektowana przez JAVA w celu zdefiniowania reguł i deklaracji w celu zaimplementowania metod natywnych, takich jak konwersja typów danych między Javą a natywnym kodem.

Wniosek

Natywne słowo kluczowe to pomost między językami ojczystymi a JAVA. Można to wykorzystać jako krytyczne łącze, jeśli interakcja naszego oprogramowania ze sprzętem służy bardziej do uzyskania wydajnego kodu przy użyciu wcześniej istniejącego kodu. To sprawia, że ​​implementacja działa mniej w porównaniu z projektowaniem nowego kodu aplikacji od zera, wszędzie tam, gdzie można tego uniknąć.

Polecane artykuły

To jest przewodnik po natywnym słowie kluczowym w Javie. Tutaj omawiamy, jak słowo kluczowe Native działa z przykładami, a także zaletami i regułami. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. JTabbedPane w Javie
  2. Chronione słowo kluczowe w Javie
  3. Maszyna wirtualna Java
  4. Swing Components w Javie
  5. C ++ Słowa kluczowe