Java Native Interface (JNI)
JNI (Java Native Interface) es el interface de programación de Java para ejecutar código nativo, es decir código compilado al lenguaje binario propio de una plataforma o sistema de ordenador. Se incluye en el JDK las herramientas necesarias para su utilización.
JNI permite al código de Java que se ejecuta dentro de la JVM interactuar con aplicaciones y librerías escritas en otros lenguajes, como C/C++ o incluso lenguaje ensamblador. Incorpora a su vez las herramientas para ejecutar código Java desde aplicaciones desarrolladas en otros lenguajes.
El entorno JNI ofrece por lo tanto a los métodos nativos utilizar objetos de Java de igual forma que el código Java puede utilizar estos objetos nativos. Tanto la parte de Java como la parte nativa de una aplicación pueden crear, actualizar y acceder a los objetos programados en Java y compartir dichos objetos.
Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra