nodejs一个数组可以存储多大的数据?
定义了一个数组,一直往里放东西,大bug上线了,请问,这个数组能放多大的数据?如果超过,会报什么错?
6 回复
应该会oom吧
来自酷炫的 CNodeMD
用arraybuffer 要比数组晚点炸吧
一句话,别这么做
64位机器老生代默认1.4G。超过1.4G内存就爆了。
@noe132 64的是1.7G吧 32的是1.4
一个范围在 0 到 232-1 之间的整数,此时将返回一个 length 的值等于 arrayLength 的数组对象(言外之意就是该数组此时并没有包含任何实际的元素,不能理所当然地认为它包含 arrayLength 个值为 undefined 的元素)。如果传入的参数不是有效值,则会抛出 RangeError 异常。
你可以把length设置大于2^32,就能看到错误了 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array