Top


定義場所(file name)

jdk/src/share/native/sun/management/management.c

名前(function name)

JNIEXPORT jint JNICALL
   JNI_OnLoad(JavaVM *vm, void *reserved) {

本体部(body)

  {- -------------------------------------------
  (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.