| 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
  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
  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 | 
| Copyright © 2003 Sun Microsystems, Inc. All rights reserved. |