Java Native Interface (JNI) is a programming framework that allows Java code running in the Java virtual machine (JVM) to call and be called by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages, such as C, C++ and assembly.

Examples of usage of JNI:

  • There is a DLL for dealing with USB device and you need to communicate with that device from Java

We will take a look at JNI closer soon.