11

このスレッドのフォローアップ:

配列内の多くの null 値は害を意味しますか?

私はnode.jsでこれを行いました:

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

そして、私は得ました

FATAL ERROR: JS Allocation failed - process out of memory

そのため、ノードの配列のnullエントリに実際に割り当てられるメモリの量(Yahoogleでは見つかりませんでした)という疑問が残ります。私は1000000000エントリを使用する予定はなく、閉じることさえしませんが、メモリを割り当てる価値がないかもしれません...

どうすればチェックできるか誰が知っていますか?

4

2 に答える 2

1

つまり、node.js は配列内の未定義の値にメモリを割り当てません。私が経験したクラッシュは、他の誰もそれを再現できず、最新の node.js バージョンをインストールすることで問題が解消されたため、グリッチであったに違いありません。

于 2012-07-01T12:40:27.423 に答える
-3

編集:不正確で申し訳ありませんが、JAVAには適用できない可能性があります..
それでも、他のアプリケーションでそれを必要とする人にとっては役立つかもしれません.

参照の配列が x を割り当てています

したがって、arr[100000] を割り当てると、100 kb x 4b ~= 0.5Mb (概算) が割り当てられます。

はい、間違いなく、すべての配列を使用しない場合は、
そのためのデータ構造である HashMap を検討する必要があります..
HashMap は、比較的少量のアイテムで大きな検索範囲を持つのに最適です。

いずれにせよ、小さな配列を割り当て、必要に応じて拡張するソリューションがあります。

于 2012-06-30T20:28:37.023 に答える