Native code support

The Jamaica Virtual Machine implements the Java Native Interface V1.2. This allows for direct embedding of existing native code into Java applications, or to encode hardware-accesses and performance-critical code sections in C or machine code routines. The usage of the Java Native Interface provides execution security even with the presence of native code, while binary compatibility with other Java implementations is ensured. Unlike other Java implementations, Jamaica provides exact garbage collection even with the presence of native code. realtime guarantees for the Java code are not affected by the presence of native code.

To ensure minimal footprint, the Java Native Interface support can be enabled optionally. Applications that do not require it are not affected by the additional code required for the native interface.