Up Top

JNI の処理 : JNI Functions の処理 : クラスに関する処理(Class Operations)


該当する JNI 関数

概要(Summary)

(#Under Construction)

処理の流れ (概要)(Execution Flows : Summary)

DefineClass() の処理

jni_DefineClass()
-> SystemDictionary::resolve_from_stream()
   -> (See: here for details)

FindClass() の処理

jni_FindClass() (※)
-> find_class_from_class_loader()
   -> SystemDictionary::resolve_or_fail()
      -> (See: here for details)
-> CompilationPolicy::completed_vm_startup()  (<= 初回の呼び出し時のみ)

(※) なお, この関数はクラスローダーとして「呼び出し元のクラスをロードしたクラスローダ (呼び出し元のクラスが存在しなければシステムクラスローダー)」を使用.

GetSuperclass() の処理

jni_GetSuperclass()
-> Klass::java_super()
   (instanceKlass::java_super() と arrayKlass::java_super() でオーバーライドされている)

IsAssignableFrom() の処理

jni_IsAssignableFrom()
-> Klass::is_subtype_of()
   -> (See: ...#TODO)

処理の流れ (詳細)(Execution Flows : Details)

jni_DefineClass()

See: here for details

jni_FindClass()

(#Under Construction) See: here for details

find_class_from_class_loader()

(#Under Construction) See: here for details

CompilationPolicy::completed_vm_startup()

See: here for details

jni_GetSuperclass()

See: here for details

instanceKlass::java_super()

See: here for details

arrayKlass::java_super()

See: here for details

jni_IsAssignableFrom()

See: here for details


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