Top

MemoryManager クラス関連のクラス (MemoryManager, CodeCacheMemoryManager, GCStatInfo, GCMemoryManager, CopyMemoryManager, MSCMemoryManager, ParNewMemoryManager, CMSMemoryManager, PSScavengeMemoryManager, PSMarkSweepMemoryManager, G1YoungGenMemoryManager, G1OldGenMemoryManager)

これらは, Platform MXBean 機能のためのクラス. より具体的に言うと, java.lang.management.MemoryManagerMXBean クラスの実装を担当するクラス. (See: here for details) (See: here for details)

備考(Notes)

GCMemoryManager クラスには各 GC アルゴリズム用のサブクラスが存在する.

これらは GC に特化した情報を含めるために作られた, とのこと. (ただし, 現状では name() と kind() の返値が違う程度の差しかない... コメントでは, TODO 事項として各 GC に特化した情報を入れるように, と書かれているが...)

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    // These subclasses of GCMemoryManager are defined to include
    // GC-specific information.
    // TODO: Add GC-specific information

クラス一覧(class list)


MemoryManager

概要(Summary)

保守運用機能のためのクラス (関連する JMM 用の Java クラスからのみ使用される) (See: java.lang.management.MemoryManagerMXBean) (See: here and here for details).

全ての MemoryManager クラスの基底クラス

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class MemoryManager : public CHeapObj {

なお, このクラス自体は abstract class であり, 実際に使われるのはサブクラス.

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
      virtual const char* name() = 0;

詳細(Details)

See: here for details


CodeCacheMemoryManager

概要(Summary)

MemoryManager クラスの具象サブクラスの1つ.

このクラスは, CodeCache が使用するメモリ領域用 (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class CodeCacheMemoryManager : public MemoryManager {

詳細(Details)

See: here for details


GCStatInfo

概要(Summary)

保守運用機能のためのクラス (JMM 機能用のクラス).

com.sun.management.GcInfo を実現するためのクラス (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class GCStatInfo : public CHeapObj {

詳細(Details)

See: here for details


GCMemoryManager

概要(Summary)

MemoryManager クラスのサブクラスの1つ. GC 処理に関する MemoryManager クラス (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class GCMemoryManager : public MemoryManager {

なお, このクラス自体は abstract class であり, 実際に使われるのはサブクラス.

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
      virtual MemoryManager::Name kind() = 0;

詳細(Details)

See: here for details


CopyMemoryManager

概要(Summary)

GCMemoryManager クラスの具象サブクラスの1つ.

このクラスは, GenCollectedHeap 上での Copy GC (= Serial GC) 用 (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class CopyMemoryManager : public GCMemoryManager {

詳細(Details)

See: here for details


MSCMemoryManager

概要(Summary)

GCMemoryManager クラスの具象サブクラスの1つ.

このクラスは, GenCollectedHeap 上での MarkSweepCompact GC (= Serial Old GC) 用 (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class MSCMemoryManager : public GCMemoryManager {

詳細(Details)

See: here for details


ParNewMemoryManager

概要(Summary)

GCMemoryManager クラスの具象サブクラスの1つ.

このクラスは, GenCollectedHeap 上での ParNew GC 用 (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class ParNewMemoryManager : public GCMemoryManager {

詳細(Details)

See: here for details


CMSMemoryManager

概要(Summary)

GCMemoryManager クラスの具象サブクラスの1つ.

このクラスは, GenCollectedHeap 上での CMS GC 用 (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class CMSMemoryManager : public GCMemoryManager {

詳細(Details)

See: here for details


PSScavengeMemoryManager

概要(Summary)

GCMemoryManager クラスの具象サブクラスの1つ.

このクラスは, ParallelScavengeHeap 上での Minor GC (Scavenge GC) 用 (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class PSScavengeMemoryManager : public GCMemoryManager {

詳細(Details)

See: here for details


PSMarkSweepMemoryManager

概要(Summary)

GCMemoryManager クラスの具象サブクラスの1つ.

このクラスは, ParallelScavengeHeap 上での Major GC (MarkSweep GC) 用 (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class PSMarkSweepMemoryManager : public GCMemoryManager {

詳細(Details)

See: here for details


G1YoungGenMemoryManager

概要(Summary)

GCMemoryManager クラスの具象サブクラスの1つ.

このクラスは, G1CollectedHeap 上での Minor GC (Evacuation Pause) 用 (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class G1YoungGenMemoryManager : public GCMemoryManager {

詳細(Details)

See: here for details


G1OldGenMemoryManager

概要(Summary)

GCMemoryManager クラスの具象サブクラスの1つ.

このクラスは, G1CollectedHeap 上での Major GC 用 (See: here and here for details).

    ((cite: hotspot/src/share/vm/services/memoryManager.hpp))
    class G1OldGenMemoryManager : public GCMemoryManager {

詳細(Details)

See: here for details



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