You can get faster JNI array access with this JDK by using jni_GetPrimitiveArrayCritical() and jni_ReleasePrimitiveArrayCritical() instead of Get*ArrayElements() calls.
Code that uses these *Critical() operations must comply with certain restrictions:
You must release the array elements quickly after you get them.
You cannot call back into Java while holding onto the array elements.
You cannot call other JNI operations.
Because of these restrictions, the array elements can be accessed without pinning and without copying. For more information, see:
http://java.sun.com/products/jdk/1.2/docs/guide/jni/jni-12.html