Contents | Previous | Next |
Java Native Interface
Overview
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 in JDK 1.1.2
JNI Interface
Functions and Pointers
Compiling, Loading and Linking Native
Methods
Resolving Native
Method Names
Native Method
Arguments
Global and Local
References
Implementing Local
References
Accessing Primitive
Arrays
Accessing Fields and
Methods
Reporting
Programming Errors
Java
Exceptions
Exceptions and Error
Codes
Asynchronous
Exceptions
Exception
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
DefineClass
FindClass
GetSuperclass
IsAssignableFrom
Throw
ThrowNew
ExceptionOccurred
ExceptionDescribe
ExceptionClear
FatalError
ExceptionCheck
NewGlobalRef
DeleteGlobalRef
DeleteLocalRef
EnsureLocalCapacity
PushLocalFrame
PopLocalFrame
NewLocalRef
NewWeakGlobalRef
DeleteWeakGlobalRef
AllocObject
NewObject, NewObjectA, and
NewObjectV
GetObjectClass
GetObjectRefType
IsInstanceOf
IsSameObject
GetFieldID
Get<type>Field Routines
Set<type>Field
Routines
GetMethodID
Call<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
GetStaticFieldID
GetStatic<type>Field
Routines
SetStatic<type>Field
Routines
GetStaticMethodID
CallStatic<type>Method Routines,
CallStatic<type>MethodA Routines, and
CallStatic<type>MethodV Routines
NewString
GetStringLength
GetStringChars
ReleaseStringChars
NewStringUTF
GetStringUTFLength
GetStringUTFChars
ReleaseStringUTFChars
GetStringRegion
GetStringUTFRegion
GetStringCritical
Release
StringCritical
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
RegisterNatives
UnregisterNatives
NewDirectByteBuffer
GetDirectBufferAddress
GetDirectBufferCapacity
FromReflectedMethod
FromReflectedField
ToReflectedMethod
ToReflectedField
Creating the
VM
Attaching to the
VM
Unloading the VM
Library and Version Management
JNI_GetDefaultJavaVMInitArgs
JNI_GetCreatedJavaVMs
JNI_CreateJavaVM
DestroyJavaVM
AttachCurrentThread
AttachCurrentThreadAsDaemon
DetachCurrentThread
GetEnv
Contents | Previous | Next |