Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


ローカル参照の削除、保管、および解放

ローカル参照は、メソッド内で、随時に手動で削除できます。ローカル参照は、メソッドの LOCAL-STORAGE SECTION に定義したオブジェクト参照内にのみ 保管します。

次のいずれかのデータ項目で参照を保管する場合にローカル参照をグローバル参照に変換するには、SET ステートメントを使用します。

そうしないと、エラーが発生します。 メソッドが戻ったときにこれらのストレージ域は保持されるので、ローカル参照は無効になります。

ほとんどのケースにおいて、メソッドが戻るときに発生するローカル参照の自動解放に依存することができます。ただし、一部のケースにおいては、JNI サービス DeleteLocalRef を使用して、メソッド内の ローカル参照を明示的に解放する必要があります。以下に、明示的解放が適切な 2 つの 状態を示します。

ローカル参照およびグローバル参照を管理するには、以下の呼び出し可能サービスを使用してください。

表 1. ローカルおよびグローバル参照の JNI サービス
サービス 入力引数 戻り値 目的
NewGlobalRef
  • JNI 環境ポインター
  • ローカルまたはグローバル・オブジェクト参照
グローバル参照、またはシステムがメモリー不足のときは NULL 入力オブジェクト参照が参照するオブジェクトに新規グローバル参照を作成する
DeleteGlobalRef
  • JNI 環境ポインター
  • グローバル・オブジェクト参照
なし 入力オブジェクト参照が参照するオブジェクトへのグローバル参照を削除する
DeleteLocalRef
  • JNI 環境ポインター
  • ローカル・オブジェクト参照
なし 入力オブジェクト参照が参照するオブジェクトへのローカル参照を削除する

ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)