JNI allows the use of function libraries made in languages such as C, C++, VB from Java applications. The advantage of JNI is that you don't need to write the calling function definition in Java. This ...
OpenJDK proposal to reduce the Java object header by half or more would lower memory and CPU usage on all Java workloads. Java could get a smaller object header, thus improving memory usage, under a ...
You can also produce the declaring code (Java has no header files) from the compiled class files. Those compiled class files can be distributed under any license you want (GPL Classpath exception).