Documentation Contents
Java Native Interface Specification Contents
Contents | Previous |
Next
1. Introduction
Java Native Interface Overview
Historical Background
JDK 1.0 Native Method Interface
Java Runtime Interface
Raw Native Interface and Java/COM Interface
Objectives
Java Native Interface Approach
Programming to the JNI
Changes
2. Design Overview
JNI Interface Functions and Pointers
Compiling, Loading and Linking Native Methods
Resolving Native Method Names
Native Method Arguments
Referencing Java Objects
Global and Local References
Implementing Local References
Accessing Java Objects
Accessing Primitive Arrays
Accessing Fields and Methods
Java Exceptions
Exceptions and Error Codes
Asynchronous Exceptions
Exception Handling
JNI Interface Functions and Pointers
3. JNI Types and Data Structures
Primitive Types
Reference Types
Field and Method IDs
The Value Type
Type Signatures
Modified UTF-8 Strings
4. JNI Functions
Interface Function Table
Version Information
GetVersion
Constants
Class Operations
DefineClass
FindClass
GetSuperclass
IsAssignableFrom
Exceptions
Throw
ThrowNew
ExceptionOccurred
ExceptionDescribe
ExceptionClear
FatalError
ExceptionCheck
Global and Local References
Global References
NewGlobalRef
DeleteGlobalRef
Local References
DeleteLocalRef
EnsureLocalCapacity
PushLocalFrame
PopLocalFrame
NewLocalRef
Weak Global References
NewWeakGlobalRef
DeleteWeakGlobalRef
Object Operations
AllocObject
NewObject, NewObjectA, NewObjectV
GetObjectClass
GetObjectRefType
IsInstanceOf
IsSameObject
Accessing Fields of Objects
GetFieldID
Get<type>Field Routines
Set<type>Field Routines
Calling Instance Methods
GetMethodID
Call<type>Method Routines, Call<type>MethodA Routines, Call<type>MethodV Routines
CallNonvirtual<type>Method Routines, CallNonvirtual<type>MethodA Routines, CallNonvirtual<type>MethodV Routines
Accessing Static Fields
GetStaticFieldID
GetStatic<type>Field Routines
SetStatic<type>Field Routines
Calling Static Methods
GetStaticMethodID
CallStatic<type>Method Routines, CallStatic<type>MethodA Routines, CallStatic<type>MethodV Routines
String Operations
NewString
GetStringLength
GetStringChars
ReleaseStringChars
NewStringUTF
GetStringUTFLength
GetStringUTFChars
ReleaseStringUTFChars
GetStringRegion
GetStringUTFRegion
GetStringCritical, ReleaseStringCritical
Array Operations
GetArrayLength
NewObjectArray
GetObjectArrayElement
SetObjectArrayElement
New<PrimitiveType>Array Routines
Get<PrimitiveType>ArrayElements Routines
Release<PrimitiveType>ArrayElements Routines
Get<PrimitiveType>ArrayRegion Routines
Set<PrimitiveType>ArrayRegion Routines
GetPrimitiveArrayCritical, ReleasePrimitiveArrayCritical
Registering Native Methods
RegisterNatives
UnregisterNatives
Monitor Operations
MonitorEnter
MonitorExit
NIO Support
NewDirectByteBuffer
GetDirectBufferAddress
GetDirectBufferCapacity
Reflection Support
FromReflectedMethod
FromReflectedField
ToReflectedMethod
ToReflectedField
Java VM Interface
GetJavaVM
5. The Invocation API
Overview
Creating the VM
Attaching to the VM
Detaching from the VM
Unloading the VM
Library and Version Management
JNI_OnLoad
JNI_OnUnload
Invocation API Functions
JNI_GetDefaultJavaVMInitArgs
JNI_GetCreatedJavaVMs
JNI_CreateJavaVM
DestroyJavaVM
AttachCurrentThread
AttachCurrentThreadAsDaemon
DetachCurrentThread
GetEnv
Contents | Previous |
Next