http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html
Java Native Interface OverviewBackground
JDK 1.0 Native Method InterfaceJava Runtime Interface
Raw Native Interface and Java/COM Interface
ObjectivesJava Native Interface Approach
Programming to the JNIChanges in JDK 1.1.2
JNI Interface Functions and PointersCompiling, Loading and Linking Native Methods
Resolving Native Method NamesNative Method Arguments
Global and Local ReferencesImplementing Local References
Accessing Primitive ArraysAccessing Fields and Methods
Reporting Programming ErrorsJava Exceptions
Exceptions and Error CodesAsynchronous ExceptionsException Handling
3. JNI Types and Data Structures
Primitive Types
Reference Types
Field and Method IDs
The Value Type
Type Signatures
Modified UTF-8 Strings
Interface Function Table
Version Information
DefineClassFindClassGetSuperclassIsAssignableFrom
ThrowThrowNew
ExceptionOccurredExceptionDescribe
ExceptionClearFatalErrorExceptionCheck
NewGlobalRefDeleteGlobalRef
DeleteLocalRefEnsureLocalCapacityPushLocalFramePopLocalFrameNewLocalRef
NewWeakGlobalRefDeleteWeakGlobalRef
AllocObjectNewObject, NewObjectA, and NewObjectV
GetObjectClass
GetObjectRefType
IsInstanceOf
IsSameObject
GetFieldIDGet<type>Field Routines
Set<type>Field Routines
GetMethodIDCall<type>Method Routines, Call<type>MethodA Routines, and Call<type>MethodV Routines
CallNonvirtual<type>Method Routines, CallNonvirtual<type>MethodA Routines, and CallNonvirtual<type>MethodV Routines
GetStaticFieldIDGetStatic<type>Field Routines
SetStatic<type>Field Routines
GetStaticMethodIDCallStatic<type>Method Routines, CallStatic<type>MethodA Routines, and CallStatic<type>MethodV Routines
NewStringGetStringLength
GetStringCharsReleaseStringChars
NewStringUTFGetStringUTFLength
GetStringUTFCharsReleaseStringUTFCharsGetStringRegionGetStringUTFRegionGetStringCriticalRelease StringCritical
GetArrayLengthNewObjectArray
GetObjectArrayElementSetObjectArrayElement
New<PrimitiveType>Array RoutinesGet<PrimitiveType>ArrayElements Routines
Release<PrimitiveType>ArrayElements RoutinesGet<PrimitiveType>ArrayRegion Routines
Set<PrimitiveType>ArrayRegion RoutinesGetPrimitiveArrayCriticalReleasePrimitiveArrayCritical
RegisterNativesUnregisterNatives
NewDirectByteBufferGetDirectBufferAddressGetDirectBufferCapacity
FromReflectedMethodFromReflectedFieldToReflectedMethodToReflectedField
Creating the VMAttaching to the VM
Unloading the VM
Library and Version Management
JNI_GetDefaultJavaVMInitArgsJNI_GetCreatedJavaVMs
JNI_CreateJavaVMDestroyJavaVM
AttachCurrentThreadAttachCurrentThreadAsDaemonDetachCurrentThreadGetEnv