hotspot的内存

 

 

java memory主要分heap memory 和 non-heap memory,其计算公式如下:

Max memory = [-Xmx] + [-XX:MaxPermSize] + number_of_threads * [-Xss]

heap结构 按分代,分young-eden,young-survivor,old 用-Xmn,-Xms,-Xmx来指定。

non-heap结构 包括metaspace,thread stacks,compiled native code,memory allocated by native code -XX:PermSize或-XX:MetaspceSize,-Xss或-XX:ThreadStackSize。  

 

 

J ava的内存管理涉及到如下类:ResourceObj, CHeapObj, StackObj, ValueObj, AllStatic, AllocatedObj(ALLOCATIONSUPER_CLASS_SPEC)

 ((cite: hotspot/src/share/vm/memory/allocation.hpp))
    // All classes in the virtual machine must be subclassed
    // by one of the following allocation classes:
    //
    // For objects allocated in the resource area (see resourceArea.hpp).
    // - ResourceObj
    //
    // For objects allocated in the C-heap (managed by: free & malloc).
    // - CHeapObj
    //
    // For objects allocated on the stack.
    // - StackObj
    //
    // For embedded objects.
    // - ValueObj
    //
    // For classes used as name spaces.
    // - AllStatic

  

参考文章:

(1)JVM Internals http://blog.jamesdbloom.com/JVMInternals.html

(2)HotSpot を構成するクラスの基底クラス, およびそれらのメモリ管理方法 http://hsmemo.github.io/articles/no28916gIW.html

 

 

 

 

 

 

转载于:https://www.cnblogs.com/mazhimazhi/p/11338056.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值