节点为数组中的空值分配多少内存

时间:2012-06-30 20:22:22

标签: javascript arrays node.js memory null

跟进这个主题:

Lots of null values in an array mean any harm?

我用node.js做了这个:

arr=[]
arr[1000]=1
arr[1000000000]=2
arr.sort()

我得到了

FATAL ERROR: JS Allocation failed - process out of memory

这样我就得到了问题(我无法在Yahoogle上找到它)为节点中的数组中的空条目实际分配了多少内存。我不打算使用10亿条,甚至不接近,但也许它还不值得分配内存...

谁知道我怎么检查?

2 个答案:

答案 0 :(得分:1)

总而言之, node.js不为数组中未定义的值分配内存。我遇到的崩溃一定是个小故障,因为没有其他人可以重现它并安装最新的节点。 js版本也为我消除了这个问题。

答案 1 :(得分:-3)

编辑:抱歉不准确,可能不适用于JAVA ..
  对于在其他应用程序中需要它的人来说,仍然可能会有帮助。

引用数组正在分配x

因此分配arr [100000]将分配100 kb x 4b~ = 0.5Mb(近似值)

和YES,当然,如果你不打算使用所有数组,
你应该考虑一个HashMap,它只是一个数据结构..
HashMap最适合使用相对少量项目的大搜索范围。

无论哪种方式,都有解决方案来分配一个小数组,并根据需要扩展它,如果需要的话。

相关问题