これらは, 保守運用機能のためのクラス. メモリ確保に関する簡単なプロファイラ機能を提供する.
保守運用機能のためのクラス (関連するオプションが指定されている場合にのみ使用される) (See: -Xaprof).
メモリ確保に関する簡単なプロファイラ機能を納めた名前空間(AllStatic クラス). クラス毎の生成されたインスタンスの合計数およびそれらの合計量(byte)を記録/出力する.
((cite: hotspot/src/share/vm/runtime/aprofiler.hpp))
// A simple allocation profiler for Java. The profiler collects and prints
// the number and total size of instances allocated per class, including
// array classes.
//
// The profiler is currently global for all threads. It can be changed to a
// per threads profiler by keeping a more elaborate data structure and calling
// iterate_since_last_scavenge at thread switches.
class AllocationProfiler: AllStatic {
以下の箇所で(のみ)使用されている.
* 初期化時に, 計測が開始される. Threads::create_vm() -> AllocationProfiler::engage() * G1CollectedHeap または GenCollectedHeap 使用時にのみ, GC 前に情報が出力される. G1CollectedHeap::gc_prologue() -> AllocationProfiler::iterate_since_last_gc() GenCollectedHeap::gc_prologue() -> AllocationProfiler::iterate_since_last_gc() * HotSpot の終了時に, 計測を終了し, 情報が出力される. before_exit() -> AllocationProfiler::disengage() -> AllocationProfiler::print()
See: here for details
AllocationProfiler クラス内で使用される補助クラス.
クラス毎の生成されたインスタンスの合計数およびそれらの合計量(byte)を各クラスオブジェクト内に記録する.
((cite: hotspot/src/share/vm/runtime/aprofiler.cpp))
class AllocProfClosure : public ObjectClosure {
以下の箇所で(のみ)使用されている.
See: here for details
デバッグ用(開発時用)のクラス (#ifndef PRODUCT 時にしか定義されない).
AllocationProfiler クラス内で使用される補助クラス.
各クラスオブジェクト内の生成されたインスタンスの合計数およびそれらの合計量(byte)情報を 0 にリセットする.
((cite: hotspot/src/share/vm/runtime/aprofiler.cpp))
#ifndef PRODUCT
class AllocProfResetClosure : public ObjectClosure {
AllocationProfiler::print() 内で(のみ)使用されている (ただし, #ifndef PRODUCT ASSERT 時にしか使用されない).
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.