jdk/src/share/native/sun/management/management.c
JNIEXPORT jint JNICALL
JNI_OnLoad(JavaVM *vm, void *reserved) {
{- -------------------------------------------
(1) JNI 関数の GetEnv() を呼び出して, JNI environment を取得する.
(ついでに JNI の version 1.2 が使えるかどうかもチェックしている.
使えないなら, ここでリターン)
---------------------------------------- -}
JNIEnv* env;
jvm = vm;
if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_2) != JNI_OK) {
return JNI_ERR;
}
{- -------------------------------------------
(1) JVM_GetManagement() で, jmm interface を取得する.
(取得に失敗したらここでリターン)
---------------------------------------- -}
jmm_interface = (JmmInterface*) JVM_GetManagement(JMM_VERSION_1_0);
if (jmm_interface == NULL) {
JNU_ThrowInternalError(env, "Unsupported Management version");
return JNI_ERR;
}
{- -------------------------------------------
(1) 取得した jmm interface の GetVersion() を呼び出してバージョンを取得し, jmm_version 変数に格納しておく.
---------------------------------------- -}
jmm_version = jmm_interface->GetVersion(env);
{- -------------------------------------------
(1) JNI の GetVersion() を呼び出し, その返値をリターン.
---------------------------------------- -}
return (*env)->GetVersion(env);
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.