This question already has answers here:
What is the memory consumption of an object in Java?

(12个答案)


3年前关闭。




我的教授无法解释的一件事是包装器类(例如Integer.*Double.*)是否占用了更多的RAM空间,因为它们具有对象引用的格式而不是原始数据类型。

最佳答案

是的,盒装打字需要更多空间,因为
-引用它的指针(在现代,非嵌入式体系结构上通常为64位)
-Object的本机实现中的其他字段(例如,可能引用了类,id等)

但是,至少在理论上,JVM / Hotspot可能能够根据其利用率来优化某些盒装类型。

10-05 22:01