【发布时间】:2015-03-04 02:47:07
【问题描述】:
目前我正在使用以下数据结构:
MyObject[] arr = new MyObject[100]
现在 Array 中的大多数字段实际上都是空的(比如说 97%)
据我所知,JVM 为每个字段保留了MyObject 的一个实例所需的内存,因此保留了大量内存,即使它从未真正使用过。
有没有办法节省内存?像只按需分配空间给MyObject?
有比简单数组更好的数据结构吗? (需要既高效又快速)
【问题讨论】:
-
jvm 为 MyObject 引用(很可能是指针)保留内存。那些不会占用太多空间。
-
你可以使用arraylist。您可以根据需要添加任意数量的元素(其容量是动态的)。
-
我真的在想你为什么要做这么多优化。