確かに、私は試行錯誤でそれを理解することができたかもしれませんが、この数がどのように変わるか、どのように(コンピュータの性能、他のデータ構造が存在するか、コンパイラの種類など)ありがとう!OutOfMemoryエラーが発生しない最大サイズのマトリックスですか?
0
A
答えて
4
メモリ不足の場合は、JVMヒープサイズを大きくする必要があります。read thisヒープサイズを増やす以外に、(メモリリークがない場合に)行列に多くのメモリが必要な場合は、何もできません。
十分なメモリがある場合は、行列のサイズを必要に応じて大きくすることができます(ただし、インデックスとして使用される整数の最大値より大きくはできません)。整数は32ビットなので、そこでは理論上の最大限の制限があります。
1
最大配列サイズは32ビットの符号付き値によって制限されますが、すなわち2^31-1または約20億であり、大部分の行列は2次元配列として実装されるので、最大サイズは20億* 20億である。あなたはfloatまたはdoubleを使うことができますが、大きな行列があった場合、蓄積された丸め誤差は膨大になります。 〜2^62ビットで、これは倍精度の精度よりも高いので、どの場合でもBigDecimalを使用する必要があります。各セルに約128(2^7)バイトのメモリが必要だったとすると、合計2^69バイトまたは512 Exaバイト(64ビットプロセッサが処理できるメモリの理論上の制限の32倍)を必要とするとします。
0
また、マシンのメモリと、-Xmxを使用してプロセスに割り当てるメモリ量にも依存します。
関連する問題
- 1. マトリックスの最大サイズはR
- 2. AndroidでOutofMemoryエラーが発生しました
- 3. 画像の切り抜き中にOutofMemoryエラーが発生する
- 4. Galaxy Nexusのライブ壁紙のビットマップでOutOfMemoryエラーが発生しました
- 5. EclipseでOutOfMemory例外が発生するのはなぜですか?
- 6. Javaアサーションエラーでエラーが発生しない
- 7. スピーチシンセサイザでエラーが発生しない
- 8. カスタムHandleErrorAttributeでエラーが発生しない
- 9. フォームのサイズを最大化しない
- 10. 発生率マトリックスのグラフMatlab
- 11. iOSのインポートで大量のエラーが発生していますか?
- 12. 最大OS XのpackageDebugでAndroid Studioで起動エラーが発生する
- 13. なぜこのエラーが発生しているのですか?
- 14. 1024x768の解像度で水平スクロールバーが発生しない最大幅
- 15. LINQ最大拡張メソッドは空のコレクションにエラーが発生します
- 16. PHP例外エラーが発生しない
- 17. 大きなサイズのzipファイルをダウンロード中にSocketExceptionが発生しました
- 18. ユニークなJMSMessageIDの最大サイズ
- 19. 最初の呼び出しでE_NOTICEエラーが発生しないのはなぜですか?
- 20. SQLでエラーが発生しました。見つからない
- 21. あいまいな列名:タグでエラーが発生しない
- 22. iframeでサイズ変更イベントが発生しない
- 23. Entity Frameworkコードテストプロジェクトで最初のエラーが発生しました
- 24. msxmlプログラムの最終行でエラーが発生しました
- 25. なぜこのエラーが発生していますか?
- 26. "ActionController :: RoutingError"のプロダクションで大量のエラーが発生する
- 27. Cocoaの開発:malloc:free_garbage:ppt = 0x18a15e0、refcount = 1のエラーが発生しない
- 28. UICollectionView自動サイズ変更でエラーが発生する
- 29. 「予期しないt_public」エラーが発生するのはなぜですか?
- 30. Android ListView行の背景が原因でOutOfMemoryの問題が発生する
はい、それは大きく異なります:-)しかし、配列の要素数*(絶対値)は[2^31-1]( 'int'の最大値は' Integer.MAX_VALUE'です)です。配列やintなどを使用する場合、他のデータ構造の*絶対*最大サイズも同様です。しかし、ほとんどの[コンシューマ]コンピュータは、単純に最大要素配列メモリ要件:-) 'int [2^32-1]'には16GB +(4バイト×4B)(そしてGCマークアンドスイープでカウントするので、おそらく32GB +?)が必要です。少なくともこれはアドレス空間のためだけに64ビットのVMを必要とします。 –
要素の最大数は 'Integer.MAX_VALUE'ではなく、実際には' Integer.MAX_VALUE - 5'です。参照:http://stackoverflow.com/questions/3038392/do-java-arrays-have-a-maximum-size – Flimm