Up Top

JNI の処理 : JNI Functions の処理 : JNI によるフィールドアクセス(Accessing Fields of Objects, Accessing Static Fields)


該当する JNI 関数

概要(Summary)

JNI では「型」や「staticか否か」に応じてフィールドアクセス用の関数が複数種類用意されている. ただし, どの場合も基本的には oopDesc::_offset{,_put}() で取得/設定を行う模様.

ただし, インスタンスフィールドの読み取り処理(get 処理)は頻繁に行われるため, これについては高速版が用意されている. 高速版では, 通常の JNI 関数で行われるチェック処理等が省略される.

高速版のアクセスコードは動的に生成されており, 初期化時に jni_NativeInterface (チェック無し版の JNIEnv) 内の GetField 関数を置き換えることで高速版への移行が実現されている.

Subcategories


This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.