【发布时间】:2017-04-23 03:52:09
【问题描述】:
我的教授未能解释的一件事是包装类(例如 Integer.* 或 Double.*)是否占用更多 RAM 空间,因为它们具有对象引用的格式而不是原始数据类型。
【问题讨论】:
-
是的,装箱的类型比未装箱的原语占用更多的空间。我很确定这总是正确的。
我的教授未能解释的一件事是包装类(例如 Integer.* 或 Double.*)是否占用更多 RAM 空间,因为它们具有对象引用的格式而不是原始数据类型。
【问题讨论】:
是的,盒装输入占用更多空间,因为 - 引用它的指针(在现代非嵌入式架构上通常为 64 位) - 对象的本机实现中的额外字段(例如,可能是对类、id 等的引用)
但是,在底层,至少在理论上,JVM/Hotspot 可能能够根据它们的利用率优化一些盒装类型。
【讨论】: