Собственный интерфейс Java (JNI) дает как реализации JVM возможность запускать системный собственный код, так и собственный код для запуска Java-кода (путем создания новых экземпляров JVM). Наиболее распространенными целевыми языками для JNI являются C и C++, для которых по крайней мере реализации JDK Sun / Oracle предоставляют вспомогательные команды (javap - для дизассемблирования кода, javah для генерации кода c).

JNI определяет стандартное соглашение об именах и вызовах, которое позволяет виртуальной машине Java находить и вызывать собственные методы.

Фактически, JNI встроен в виртуальную машину Java, что позволяет виртуальной машине Java вызывать локальные системные вызовы, которые выполняют операции ввода-вывода, графики, работы в сети и потоков в операционной системе хоста.

Соглашение об именовании и вызовах было стандартизировано спецификацией JNI.

Рекомендации: