«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Что делает «родное» ключевое слово Java и когда его следует использовать?

Что делает «родное» ключевое слово Java и когда его следует использовать?

Опубликовано 16 января 2025 г.
Просматривать:331

What Does Java\'s `native` Keyword Do and When Should You Use It?

Для чего используется собственное ключевое слово в Java?

Нативное ключевое слово в Java позволяет вызывать скомпилированные, динамически загружаемые библиотеки, написанные на таких языках, как C или C с произвольным ассемблерным кодом из Java. Это позволяет получить доступ к низкоуровневым функциям, которые могут быть недоступны в чистой Java.

Как это работает

Чтобы использовать собственный код на Java, вам необходимо сделать следующее:

  1. Создайте файл заголовка (.h), содержащий прототипы функций для собственных методов, которые вы хотите call.
  2. Реализуйте собственные методы в исходном файле (.c или .cpp).
  3. Скомпилируйте собственный код в общую библиотеку (.so в Linux, .dll в Windows).
  4. Загрузите общую библиотеку в свою программу Java с помощью System.loadLibrary().
  5. Используйте собственные методы, как и любые другие методы Java метод.

Пример

Ниже приведен простой пример класса Java, который вызывает собственный метод, написанный на C:

public class Example {
    public native int square(int i);
    public static void main(String[] args) {
        System.loadLibrary("Example");
        System.out.println(new Example().square(2));
    }
}

Соответствующий код C:

#include 
JNIEXPORT jint JNICALL Java_Example_square(
    JNIEnv *env, jobject obj, jint i) {
  return i * i;
}

Преимущества использования нативного кода

Использование нативного кода может дать ряд преимуществ, в том числе:

  • Повышение производительности: Собственный код часто работает быстрее, чем код Java, поскольку он может напрямую обращаться к оборудованию. ресурсы.
  • Доступ к низкоуровневым функциям системы: Собственный код может выполнять задачи, которые невозможны в чистой Java, например взаимодействие с операционной системой или доступ к аппаратным устройствам.
  • Переносимость: Собственный код можно скомпилировать для нескольких платформ, что упрощает развертывание вашего приложения на разных платформах. системы.

Соображения

Хотя использование машинного кода может быть полезным, оно также имеет некоторые особенности:

  • Повышенная сложность: Разработка и поддержка собственного кода может быть более сложной задачей, чем использование чистого кода. Java.
  • Ограниченная переносимость: Собственный код компилируется для конкретной платформы, что ограничивает его переносимость.
  • Риски безопасности: Для написания собственного кода требуется глубокое понимание базовой платформы и неправильные методы кодирования могут создать угрозу безопасности.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3