| 
                 
	      Java Native Interface Specification
     
	 | 
      
      
      
        
		  Contents | Previous | Next
         | 
    
 
Contents
 
 1.  Introduction
 
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
 
 2. Design Overview
 
JNI Interface Functions and Pointers
 
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
 
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
 
UTF-8 Strings
 
 4.  JNI Functions
 
Interface Function Table
 
Version Information
 
GetVersion
 
Class Operations
 
DefineClass
 
FindClass
 
GetSuperclass
 
IsAssignableFrom
 
Exceptions
 
Throw
 
ThrowNew
 
ExceptionOccurred
 
ExceptionDescribe
 
ExceptionClear
 
FatalError
 
Global and Local References
 
NewGlobalRef
 
DeleteGlobalRef
 
DeleteLocalRef
 
Object Operations
 
AllocObject
 
NewObject NewObjectA NewObjectV
 
GetObjectClass
 
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
 
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
 
Registering Native Methods
 
RegisterNatives
 
UnregisterNatives
 
Monitor Operations
 
MonitorEnter
 
MonitorExit
 
Java VM Interface
 
GetJavaVM
 
 5. The Invocation API
 
Overview
 
Creating the VM
 
Attaching to the VM
 
Unloading the VM
 
Initialization Structures
 
Invocation API Functions
 
JNI_GetDefaultJavaVMInitArgs
 
JNI_GetCreatedJavaVMs
 
JNI_CreateJavaVM
 
DestroyJavaVM
 
AttachCurrentThread
 
DetachCurrentThread
     
    
    
      
        | 
 	  Contents | Previous | Next
         | 
      
      
	| 
	     
    Copyright ©
       2003 Sun Microsystems, Inc. All rights reserved. 
         |