Java 仮想マシンは、ネイティブ・メソッド (COBOL メソッドなど) で使用されるオブジェクト参照を追跡します。 この追跡によって、ガーベッジ・コレクションの際、まだ使用中のオブジェクトが解放されないようにします。
オブジェクト参照には、以下の 2 つの クラスがあります。
以下のオブジェクト参照は常にローカルです。
ローカル参照またはグローバル参照のいずれかをオブジェクト参照引数として JNI サービスに渡すことができます。
RETURNING 値としてローカル参照またはグローバル参照のいずれかを戻すメソッドをコーディングできます。ただし、いずれの場合も、呼び出すプログラムが受け取る参照はローカル参照です。
メソッドの起動で USING 引数としてローカル参照またはグローバル参照のいずれかを渡すことができます。ただし、いずれの場合も、呼び出されたメソッドが受け取る参照はローカル参照です。
ローカル参照は、それが作成されたスレッド内でのみ有効です。 ローカル参照をスレッドから別のスレッドに渡すことはできません。