java吧 关注:1,221,497贴子:12,673,919
  • 2回复贴,共1

怎么样能计算一组对象的实际内存占用呢?

只看楼主收藏回复

没有内存池什么的....
俺通过lucene的org.apache.lucene.util.RamUsageEstimator的
sizeOfObject、sizeOfMap一类的函数计算了HEADER 然后手动把引用类型计算了

得出个数,但肿么判断这个数是对得呢....?
因为数据类型忒复杂,又是map又是大量相互引用,用jvisualvm这类工具杵了半天也没搜集齐全
试过操作前后通过计算JVM堆内存增长差值,好像也说明不了什么...因为用内存的不只这一块...
求放过,抓壮丁被拉去客串java开发的


IP属地:北京1楼2020-08-06 14:38回复
    图吧的小吧主转行了?


    IP属地:广东2楼2020-08-14 18:18
    收起回复