Object jmap和对象大小

Object jmap和对象大小,object,size,long-integer,jmap,Object,Size,Long Integer,Jmap,我在我的JVM上运行jmap试图了解一些内存泄漏,我发现了一些奇怪的事情:java.lang.Long使用24字节而不是8字节 有人能告诉我我的错误在哪里吗 num #instances #bytes class name ---------------------------------------------- 1: 11043837 530104176 java.util.HashMap$Entry 2: 157886

我在我的JVM上运行jmap试图了解一些内存泄漏,我发现了一些奇怪的事情:
java.lang.Long
使用24字节而不是8字节

有人能告诉我我的错误在哪里吗

 num     #instances         #bytes  class name
----------------------------------------------
   1:      11043837      530104176  java.util.HashMap$Entry
   2:      15788616      378926784  java.lang.Long
   3:       2933013      301617976  [C


#bytes / #instance => 378926784 / 15788616  => 24 bytes

WTF???

好的,我必须更新我关于java内存使用的知识

8字节表示长基元类型

对于对象(如java.lang.Long),标头的开销为8字节。现在我已经解决了一半的问题,但仍然缺少8个字节