Java FAQ: Top Questions
54. What is the Java Native Interface (JNI)?
Java Native Interface (JNI) allows Java code to interact with native code (C/C++) for performance-critical tasks or platform-specific functionality.
-
Native Methods:
Declared with
native
keyword, implemented in C/C++. - JNIEnv: Interface for accessing Java objects and methods from native code.
-
Compilation:
Requires generating headers with
javac -h
and linking native libraries. - Use Case: Accessing hardware, legacy libraries, or optimizing performance.
- Risks: Platform-dependent, potential memory issues.