Javaでlong []配列を可能な限り最大の長さでインスタンス化する方法を考えています。大きすぎるとメモリエラーが発生します。プラットフォームに依存する制限を超えないように、この配列をできるだけ大きくする必要があります。これはどのように行うことができますか?私のコンピューターの制限は約85000000インデックスのようですが、他のコンピューターではそれより少ないか多い可能性があります。
Javaでは、ガベージコレクションは予測できない間隔で実行されます。したがって、空きヒープのメモリサイズは、ランタイムに応じて増減します。その可能性は非常に低いので、あなたが長い列を作るために使用できるメモリの正確なバイトを得ることができることが、あなたのようにJVMに使用されるメモリの詳細を取得するランタイムクラスを試すことができます:
Runtime.getRuntime().totalMemory()
、
Runtime.getRuntime().freeMemory()
、
Runtime.getRuntime().maxMemory()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加