JNI stands for Java Native Interface. The Java Native Interface (JNI) enables the integration of code written in the Java programming language with code written in other languages such as C and C++.
It allows programmers to take full advantage of the Java platform without having to abandon their investment in legacy code. JNI lets Java code use code and code libraries written in other languages, such as C and C++, and allows you to call Java code from within native code.
The JNI allows writing native methods to handle situations when an application cannot be written entirely in the Java programming language e.g. when the standard Java class library does not support the platform-specific features or program library.
The JNI framework lets a native method utilize Java objects in the same way that Java code uses these objects.