Java Native Interface 仕様の目次


目次 | 前の項目 | 次の項目

1. はじめに

Java Native Interface の概要
背景

JDK 1.0 ネイティブメソッドインタフェース
Java Runtime Interface
Raw Native Interface および Java/COM インタフェース

目的
Java Native Interface のアプローチ
JNI のプログラミング
JDK 1.1.2 での変更点

2. 設計の概要

JNI インタフェースの関数とポインタ
ネイティブメソッドのロードとリンク

ネイティブメソッド名の解決
ネイティブメソッドの引数

Java オブジェクトの参照

グローバル参照とローカル参照
ローカル参照の実装

Java オブジェクトへのアクセス

プリミティブ配列へのアクセス
フィールドおよびメソッドへのアクセス

プログラミングエラーの報告
Java の例外

例外とエラーコード
非同期な例外
例外の処理

3. JNI の型とデータ構造

プリミティブ型
参照型
フィールドとメソッド ID
値の型
型のシグニチャー
変更された UTF-8 文字列

4. JNI 関数

インタフェース関数テーブル
バージョン情報

GetVersion

クラス操作

DefineClass
FindClass
GetSuperclass
IsAssignableFrom

例外

Throw
ThrowNew
ExceptionOccurred
ExceptionDescribe
ExceptionClear
FatalError
ExceptionCheck

グローバル参照およびローカル参 照

NewGlobalRef
DeleteGlobalRef
DeleteLocalRef
EnsureLocalCapacity
PushLocalFrame
PopLocalFrame
NewLocalRef

弱グローバル参照

NewWeakGlobalRef
DeleteWeakGlobalRef

オブジェクト操作

AllocObject
NewObject、NewObjectA、および NewObjectV
GetObjectClass
IsInstanceOf
IsSameObject

オブジェクトのフィールドへのアクセス

GetFieldID
Get<type>Field ルーチン
Set<type>Field ルーチン

インスタンスメソッドの呼び出し

GetMethodID
Call<type>Method ルーチン、Call<type>MethodA ルーチン、および Call<type>MethodV ルーチン
CallNonvirtual<type>Method ルーチン、CallNonvirtual<type>MethodA ルーチン、および CallNonvirtual<type>MethodV ルーチン

static フィールドへのアクセス

GetStaticFieldID
GetStatic<type>Field ルーチン
SetStatic<type>Field ルーチン

static メソッドの呼び出し

GetStaticMethodID
CallStatic<type>Method ルーチン、CallStatic<type>MethodA ルーチン、および CallStatic<type>MethodV ルーチン

文字列操作

NewString
GetStringLength
GetStringChars
ReleaseStringChars
NewStringUTF
GetStringUTFLength
GetStringUTFChars
ReleaseStringUTFChars
GetStringRegion
GetStringUTFRegion
GetStringCritical
Release StringCritical

配列操作

GetArrayLength
NewObjectArray
GetObjectArrayElement
SetObjectArrayElement
New<PrimitiveType>Array ルーチン
Get<PrimitiveType>ArrayElements ルーチン
Release<PrimitiveType>ArrayElements ルーチン
Get<PrimitiveType>ArrayRegion ルーチン
Set<PrimitiveType>ArrayRegion ルーチン
GetPrimitiveArrayCritical
ReleasePrimitiveArrayCritical

ネ イティブメソッドの登録

RegisterNatives
UnregisterNatives

モニター操作

MonitorEnter
MonitorExit

NIO のサポート

NewDirectByteBuffer
GetDirectBufferAddress
GetDirectBufferCapacity

リフレクションのサポー ト

FromReflectedMethod
FromReflectedField
ToReflectedMethod
ToReflectedField

Java VM インタフェース

GetJavaVM

5. 呼び出し API

概要

VM の作成
VM への接続
VM のアンロード

初期化構造体ライブラリおよびバージョン管理

JNI_OnLoad
JNI_OnUnload

呼び 出し API の関数

JNI_GetDefaultJavaVMInitArgs
JNI_GetCreatedJavaVMs
JNI_CreateJavaVM
DestroyJavaVM
AttachCurrentThread
AttachCurrentThreadAsDaemon
DetachCurrentThread
GetEnv

 


目次 | 前の項目 | 次の項目

Copyright 2003 Sun Microsystems, Inc. All rights reserved.