Рідне ключове слово на Java - Як працює ключове слово Native? (Приклад)

Зміст:

Anonim

Вступ про Native ключове слово на Java

Нативне ключове слово діє як зв’язок між мовою JAVA та шматочком коду чи бібліотеки, написаними різними мовами, крім JAVA, які можуть залежати від машини, на якій ви працюєте. Якщо нативне ключове слово застосовано до методу, то це означає, що метод буде реалізований за допомогою нативного коду, написаного якоюсь іншою мовою (наприклад, C або C ++) через JNI (власний інтерфейс JAVA).

Синтаксис

Синтаксис основного коду - це те саме, що визначення звичайної функції з ключовим словом "нативні", доданим на початку функції.

Наприклад:

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 та застарілим файлом існує зв'язок змінної / потоку даних, щоб між ними було безперебійним потоком даних.

Нижче наведено кроки, які пояснюють, як користуватися нативними ключовими словами:

  1. Напишіть код JAVA, що містить власний метод, завантажену спільну бібліотеку та збережіть її за допомогою "filename.JAVA".
  2. Складіть код JAVA і перетворіть його в байт-код.
  3. Створіть файл заголовка C / C ++, що містить підпис власної функції, який слід викликати.
  4. Написати код C / C ++ має вбудований метод.
  5. Запустіть виконуваний файл 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

  1. Це забезпечує додаткову перевагу JAVA для взаємодії з кодом, написаним іншими мовами, і зменшує роботу над тим, щоб той самий код був написаний в JAVA, отже зменшивши надмірність коду.
  2. Це покращує загальну продуктивність коду. Оскільки код написаний іншими мовами, можливо, він буде швидшим, коли він працює з машинною мовою порівняно з JAVA. Потім ми можемо використовувати програму JAVA для виклику цього коду.
  3. Використовуючи такий підхід, ми можемо безпосередньо здійснювати системні дзвінки. Зменшення ймовірності зовнішніх втручань та покращення швидкості виконання коду.
  4. Ви можете динамічно викликати попередньо завантажену бібліотеку (написану будь-якою мовою, окрім JAVA), використовуючи довільний код керування, написаний на JAVA, і все одно отримувати відповідь у JAVA.
  5. Це робить його доступним для доступу до апаратних ресурсів, доступних для використання лише іншими мовами.
  6. Якщо у вас вже є набудований платформою код для вашої програми та функції якого не підтримуються через JAVA, у такому випадку ми можемо мати нативний код та зв’язати цей нативний код із JAVA за допомогою нативного ключового слова.

Правила

  1. Перед назвою методу слід використовувати нативне ключове слово.
  2. Оголошення нативного методу не має тіла і має закінчуватися крапкою з комою, оскільки ці методи не визначені в JAVA, але вони є мовою C / C ++.
  3. Рідні методи не можна оголосити абстрактним методом.
  4. Оскільки немає впевненості, чи попередній старий код написаний відповідно до стандарту IEEE 754 (Стандарт IEEE для арифметики з плаваючою комою - це технічний стандарт для арифметики з плаваючою комою, встановлений в 1985 році Інститутом інженерів електротехніки та електроніки), ми не можемо оголосити ці рідні методи строгими.
  5. Специфікація Java Native Interface (JNI) розроблена JAVA для визначення правил та декларацій для впровадження нативних методів, наприклад перетворення типів даних між Java та нативним кодом.

Висновок

Нативне ключове слово - це усунення розриву між рідними мовами та JAVA. Це може бути використане як критичне посилання, якщо взаємодія нашого програмного забезпечення з обладнанням більше для отримання ефективного коду за допомогою попереднього коду. Це робить роботу по впровадженню меншою порівняно з розробкою нового коду програми з нуля, де б не вдалося уникнути.

Рекомендовані статті

Це посібник щодо Native ключового слова на Java. Тут ми обговорюємо, як працює ключове слово Native з прикладами, а також переваги та правила. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. JTabbedPane на Java
  2. Захищене ключове слово на Java
  3. Віртуальна машина Java
  4. Гойдаючі компоненти на Java
  5. C ++ Ключові слова