了解JVM中的对象开销

Nli*_*tis 7 java memory jvm object overhead

我正在研究java,我记得在某个地方读过java对象,在JVM中有一些开销,这是由虚拟机用于管理的原因.所以我的问题是,有人可以告诉我是否以及如何在HotSpot JVM中获取对象的总大小,以及它可能带来的任何开销?

mik*_*era 9

你无法直接获得开销.开销量取决于实现,并且可能因许多因素而异(例如,精确的JVM版本,以及您是使用32位还是64位JVM).

然而,假设在像HotSpot这样的典型现代JVM实现中,每个对象的开销在8到16个字节之间是相当安全的.数组的开销通常比其他对象大4个字节(包含整数数组长度).

也可以看看: