我在我的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他妈的?
发布于 2012-11-01 04:39:31
好吧,我不得不重温一下关于java内存使用的知识。
8字节用于long原语类型。
对于一个对象(如java.lang.Long),报头有8个字节的开销。现在,我已经解决了一半的问题,但是仍然缺少8个字节...
https://stackoverflow.com/questions/13063406
复制相似问题