Publication
USENIX ATC 2007
Conference paper
Improved JNI Memory Management Using Allocations from the Java Heap
Abstract
JAVA, as a development platform provides a number of programmer friendly capabilities, including Platform neutrality, Garbage collection, Unicode support, Regular expressions, and Multi-threading support. The Java Native Interface (JNI) to allow Java to interact with libraries written in other languages. However, JNI introduces platform specific dependencies that mitigate some of Java’s benefits. In particular: Java’s garbage collection system and heap management has no awareness or control over the use of dynamic memory in the native code. A JNI library can easily cause the Java program to exceed its maximum specified heap.