クラスのロード/アンロード処理が行われるたびに ClassLoadingService オブジェクト内の PerfData に統計情報が蓄えられていく.
sun.management.ClassLoadingImpl クラスのメソッドは, 単にその統計情報を取得するだけ.
ClassFileParser::parseClassFile() -> ClassLoadingService::notify_class_loaded()
ClassFileParser::parse_method() -> ClassLoadingService::add_class_method_size()
SystemDictionary::load_shared_class() -> ClassLoadingService::notify_class_loaded()
Dictionary::do_unloading() -> ClassLoadingService::notify_class_unloaded()
sun.management.ClassLoadingImpl.isVerbose() -> sun.management.VMManagementImpl.getVerboseClass() -> Java_sun_management_VMManagementImpl_getVerboseClass() -> jmm_GetBoolAttribute() (JMM_VERBOSE_CLASS を引数として呼び出される) -> ClassLoadingService::get_verbose()
sun.management.ClassLoadingImpl.setVerboseClass() -> Java_sun_management_ClassLoadingImpl_setVerboseClass() -> jmm_SetBoolAttribute() (JMM_VERBOSE_CLASS を引数として呼び出される) -> ClassLoadingService::set_verbose()
sun.management.ClassLoadingImpl.getTotalLoadedClassCount() -> sun.management.VMManagementImpl.getTotalClassCount() -> Java_sun_management_VMManagementImpl_getTotalClassCount() -> jmm_GetLongAttribute() (JMM_CLASS_LOADED_COUNT を引数として呼び出される) -> get_long_attribute() -> ClassLoadingService::loaded_class_count()
sun.management.ClassLoadingImpl.getUnloadedClassCount() -> sun.management.VMManagementImpl.getUnloadedClassCount() -> Java_sun_management_VMManagementImpl_getUnloadedClassCount() -> jmm_GetLongAttribute() (JMM_CLASS_UNLOADED_COUNT を引数として呼び出される) -> get_long_attribute() -> ClassLoadingService::unloaded_class_count()
sun.management.ClassLoadingImpl.getLoadedClassCount() -> sun.management.VMManagementImpl.getLoadedClassCount() -> sun.management.VMManagementImpl.getTotalClassCount() -> (同上) -> sun.management.VMManagementImpl.getUnloadedClassCount() -> (同上)
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
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.