Non-Java Code Considerations

To create the most robust, versatile, and relaible components, you should implement components using only Java code and the APIs and techniques described in this document. However, it is sometimes necessary for a component to call non-Java libraries (hereafter called native libraries) that can, for example, contain the means to interact with a third-party application or can contain the implementation of complex algorithms.

This concept is different from invoking a native program (an executable). A native program runs as a separate process and is typically invoked with command-line arguments using the Java Runtime getRuntime().exec() methods. A native library is invoked using the Java Native Interface (JNI) technology. A native library is loaded into the JVM process and called directly.


In this section:

JNI Limitations and Considerations
Reliability
Security