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:
- Napisz kod JAVA zawierający metodę natywną, załadowaną bibliotekę współdzieloną i zapisz go, używając „filename.JAVA”.
- Skompiluj kod JAVA i przekonwertuj kod na kod bajtowy.
- Utwórz plik nagłówka C / C ++ zawierający podpis funkcji rodzimej, który należy wywołać.
- Napisz kod C / C ++ ma implementację metody natywnej.
- 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
- 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.
- 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.
- 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.
- 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.
- Umożliwia JAVA dostęp do zasobów sprzętowych, z których mogą korzystać tylko inne języki.
- 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
- Natywnego słowa kluczowego należy użyć przed nazwą metody.
- 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 ++.
- Metod rodzimych nie można zadeklarować jako metodę abstrakcyjną.
- 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.
- 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 -
- JTabbedPane w Javie
- Chronione słowo kluczowe w Javie
- Maszyna wirtualna Java
- Swing Components w Javie
- C ++ Słowa kluczowe