Java Native Interface
Java Native Interface (JNI) — стандартный механизм для запуска кода, под управлением виртуальной машины Java (JVM), который написан на на языках С/С++ или Ассемблера, и скомпанован в виде динамических библиотек, позволяет не использовать статическое связывание. Это дает возможность вызыва функции С/С++ из программы на Java и, наоборот.
С помощью этого механизма байт-код Java может взаимодействовать с системным или прикладным платформенно-ориентированным кодом, запущенным непосредственно под управлением различных операционных систем.[1]
Платформенно-зависимый интерфейс JNI предоставляет доступ не ко всему интерфейсу прикладного программирования конкретной операционной системы, а лишь к некоторой его части. Впервые JNI использовался в Java версии 1.1 и был развит в Java 2.
Устаревший интерфейс
NMI (Native Method Invocation) был первым механизмом, специфицированным Sun для вызова из Java кода на C, и единственным механизмом, поддерживавшимся в JDK 1.0.2. Во всех последующих версиях Java NMI больше не поддерживается: его заменяет частично совместимый с ним механизм JNI.
Примечания
См. также
- Platform Invoke (P/Invoke) — аналог JNI в среде .NET Framework