Buffl

FromComments

TI
by Tim I.

Что такое нативные методы, их плюсы и минусы?


Ключевое слово native применяется, чтобы указать, что метод реализован не в файле Java, а на другом языке программирования. Native методы использовались в прошлом. В текущих версиях Java это нужно реже. В настоящее время, native методы необходимы, когда: 

  1. Вы должны вызвать библиотеку из Java, которая написана на другом языке.

  2. Вам нужен доступ к системным или аппаратным ресурсам, к которым можно получить доступ только используя другой язык (как правило, С). На самом деле, многие системные функции, которые взаимодействуют с реальным компьютером (например диски или сетевые данные) могут быть вызваны только native методом.

Недостатки использования библиотек native методов тоже значительны: 

  1. JNI/JNA могут дестабилизировать JVM, особенно если вы попытаетесь сделать что-то сложное. Если ваш native метод делает что-то неправильно, есть вероятность аварийного завершения JVM. Также, неприятные вещи могут произойти, если ваш native метод вызывается из нескольких нитей. И так далее.

  2. Программу с native кодом сложнее дэбажить.

  3. Native код требует отдельного построения фрэймворков, что может создать проблемы с переносом на другие платформы.


Author

Tim I.

Information

Last changed