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

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

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

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

Ссылки: