標準ライブラリのクラスの幾つかは HotSpot の起動処理中にロードされる (java.lang.Object, java.lang.Thread, 等).
(この処理は Threads::create_vm() 内で呼び出される各種の関数内で行われる模様. (<= 他にないか?#TODO))
(HotSpot の起動時処理) (See: here for details) -> Threads::create_vm() -> init_globals() -> universe2_init() -> Universe::genesis() -> SystemDictionary::initialize() -> SystemDictionary::initialize_preloaded_classes() -> -> universe_post_init() -> -> initialize_class() (※) -> (1) 対象クラスを取得する. まだロードされていなければロードも行う. -> SystemDictionary::resolve_or_fail() -> (See: here for details) (2) 対象クラスのリンクおよび初期化を行う -> instanceKlass::initialize() -> (See: here for details) (※) なお, この関数はクラスローダーとして「ブートストラップ・クラスローダ」を使用.
See: here for details
See: here for details
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.