包装 class 内存

Wrapper class RAM

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

是的,盒装打字需要更多 space 因为 - 引用它的指针(在现代非嵌入式架构上通常是 64 位) - 对象的本机实现中的额外字段(例如,可能引用 class、id 等)

然而,在幕后,至少在理论上,JVM/Hotspot 可以根据它们的利用率优化一些盒装类型。