Въведение на Native ключова дума в Java
Народната ключова дума действа като връзка между езика на JAVA и парче код или библиотека, написани на различни езици, с изключение на JAVA, което може да зависи от машината, на която работите. Ако нативната ключова дума се приложи към метод, тогава това означава, че методът ще бъде реализиран с нативен код, написан на някакъв друг език (като C или C ++) чрез JNI (JAVA нативен интерфейс).
Синтаксис
Синтаксисът на естествен код е същият като определението за нормална функция с ключовата дума „native“, добавена в началото на функцията.
Например:
Public class testing
(public native String testMethod (String parameter);)
Тук обществеността е модификатор за достъп. Той трябва да е публичен, за да може друг файл да го използва. Низът е типът връщащи данни на функцията. Тя може да бъде цяло число, знак или булева, в зависимост от ключовата дума. Параметърът, предаден на тази функция, е и от низ от тип данни. Всичко трябва да бъде подкласирано.
След деклариране на функция, ние наричаме тази функция чрез създаден обект и заредена библиотека.
public static void main(String() args)
(
System.loadLibrary("testing");
testing testingnew = new testing();
String output = testingnew.stringMethod("NATIVE");
)
Библиотеката, дефинирана по-горе, трябва да бъде заредена първо и n нейният обект е създаден. С помощта на този обект се извиква нативната функция.
Как работи ключовата дума Native?
Трябва да има два файла. Единият съдържа JAVA код, докато другият трябва да има наследствен код C / C ++. Java код ще се използва за извикване на наследения код. Този наследствен код ще взаимодейства с хардуера и ще върне очакваната продукция.
Когато наследеният код взаимодейства с хардуера, той няма да следва указанията на JAVA. Този код ще извърши желаната обработка, за да получи изхода и да предаде резултатите на JNI. След това нативният интерфейс на Java ще провери в своята директория, съдържаща всички правила, отнасящи се до родния код (Това влиза под файл, наречен javah.exe в SDK). JNI е проектиран като част от инструментариума на Java. След тази обработка, JAVA ще публикува изводите на самия език JAVA. Когато създаваме програмата в JAVA, тогава трябва да се уверим, че има променлива връзка / поток на данни между файла JAVA и наследения файл, така че да има плавен поток от данни между двете.
Стъпки, обясняващи как да използвате родните ключови думи, са дадени по-долу:
- Напишете кода JAVA, съдържащ естествен метод, заредена споделена библиотека и я запишете с помощта на „име на файл.JAVA“.
- Компилирайте JAVA код и конвертирайте кода в байт код.
- Създайте заглавен файл C / C ++, съдържащ естествен подпис на функция, който трябва да бъде извикан.
- Напишете C / C ++ код има вграден метод за изпълнение.
- Пуснете JAVA изпълним файл, за да видите резултатите.
пример
Трябва да напишем код в Eclipse и да стартираме кода, за да създадем библиотека, чрез която тогава C код ще бъде реализиран.
Код : пакет 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);
)
)
След като запазите този код в новия „клас“ на java проекта. Трябва да настроим среда за изпълнение, за да генерираме заглавен файл.
Когато стартираме това, трябва да създадем библиотека.
изход:
Тук създадохме заглавния файл от кода java, който ще действа като връзка между родния код и езика на Java.
Предимства на Native ключова дума в Java
- Той предоставя допълнително предимство на JAVA да взаимодейства с кода, написан на други езици и да намалява работата, за да има същия код, написан в JAVA, като по този начин намалява излишността на кода.
- Подобрява цялостната производителност на кода. Тъй като кодът е написан на други езици, може да е по-бърз, когато работи с машинния език в сравнение с JAVA. След това можем да използваме програмата JAVA, за да извикаме този код.
- Използвайки този подход, можем директно да отправяме системни обаждания. Намаляване на вероятността от външна намеса и подобряване на скоростта на изпълнение на кода.
- Можете динамично да извикате предварително заредена библиотека (написана на който и да е език, различен от JAVA), като използвате произволен код за управление, написан в JAVA, и все пак да получите отговор в JAVA.
- Това прави достъпно за JAVA да достигне хардуерните ресурси, които са достъпни за използване само на други езици.
- В случай, че вече имате изграден код, зависим от платформата за вашето приложение и чиито функции не се поддържат чрез JAVA, в този случай можем да имаме естествен код и да свържем този естествен код с JAVA чрез естествена ключова дума.
правилник
- Родната ключова дума трябва да се използва преди името на метода.
- Декларацията за родния метод няма тялото и трябва да завършва с точка и запетая, тъй като тези методи не са дефинирани в JAVA, но присъстват на C / C ++ език.
- Родните методи не могат да бъдат декларирани като абстрактни методи.
- Тъй като няма сигурност дали предишният стар код е написан в съответствие със стандарта IEEE 754 (Стандартът IEEE за аритметика с плаваща запетая е технически стандарт за аритметика с плаваща запетая, създаден през 1985 г. от Института на инженерите по електроника и електроника), така че не можем да декларираме тези естествени методи като строги кранове.
- Спецификацията Java Native Interface (JNI) е разработена от JAVA за определяне на правилата и декларациите за прилагане на естествени методи, като преобразуване на типове данни между Java и нативен код.
заключение
Нативната ключова дума е тази, която преодолява разликата между родните езици и JAVA. Това може да се използва като критична връзка, ако взаимодействието на нашия софтуер с хардуера е повече, за да получи ефективния код, използвайки съществуващ код. Това прави работата по внедряването по-малка в сравнение с проектирането на нов код на приложение от нулата, където и да се избегне.
Препоръчителни статии
Това е ръководство за Native ключова дума в Java. Тук обсъждаме как работи ключовата дума Native с примерите, както и предимствата и правилата. Може да разгледате и следните статии, за да научите повече -
- JTabbedPane на Java
- Защитена ключова дума в Java
- Java виртуална машина
- Компоненти на люлка в Java
- C ++ Ключови думи