Up Top

Class のロード/リンク/初期化(Loading/Linking/Initializing)


(#Under Construction)

参考(for your information)


各クラスの初期化状態は, 各 instanceKlass オブジェクトの _init_state フィールド (ClassState 型) で管理されている

    ((cite: hotspot/src/share/vm/oops/instanceKlass.hpp))
      ClassState      _init_state;           // state of class
    ((cite: hotspot/src/share/vm/oops/instanceKlass.hpp))
      // See "The Java Virtual Machine Specification" section 2.16.2-5 for a detailed description
      // of the class loading & initialization procedure, and the use of the states.
      enum ClassState {
        unparsable_by_gc = 0,               // object is not yet parsable by gc. Value of _init_state at object allocation.
        allocated,                          // allocated (but not yet linked)
        loaded,                             // loaded and inserted in class hierarchy (but not linked yet)
        linked,                             // successfully linked/verified (but not initialized yet)
        being_initialized,                  // currently running class initializer
        fully_initialized,                  // initialized (successfull final state)
        initialization_error                // error happened during initialization


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