The Java Native Interface (JNI) is a framework that allows Java code running in a Java Virtual Machine (JVM) to call and to be called by native applications and libraries written in other languages. Purpose Handle situations when an application cannot be written entirely in the Java. 1. Standard Java class library does not support the platform-specific features. 2. Used for time-critical calculations or operations like solving complicated mathematical equations. 3. Using existing native applications and libraries. Drawback 1. Losing some features of Java: the platform portability and type-safe and secure.. 2. The JNI framework does NOT provide any automatic garbage collection for non-JVM memory resource allocated by native side. 3. Error checking is a MUST or it has the potential to crash the JNI side and the JVM. Overview This is the procedure of the Java code to call c library through JNI. Step in writ...