2

デフォルトのJavaヒープメモリは128MBです。デフォルトなので、RAMサイズに応じてこのメモリが自動的に変更されるかどうか知りたいです。たとえば、128 MBのRAMを搭載したマシンの場合、ヒープメモリ128が多すぎるため、自動的に変更する必要があります。アプリケーションが128ヒープすべてを使用すると、PCで問題が発生するためです。

助けてください。

4

4 に答える 4

8

Java 1.6アップデート18(およびそれ以降)では、指定されていない場合、クライアントJVMのデフォルトのヒープサイズは次のルールに従います。

デフォルトの最大ヒープサイズは、物理メモリの半分から192メガバイトまでの物理メモリサイズです。それ以外の場合は、物理メモリの4分の1から1ギガバイトまでの物理メモリサイズです。

たとえば、マシンに128メガバイトの物理メモリがある場合、最大ヒープサイズは64メガバイトであり、1ギガバイト以上の物理メモリの場合、最大ヒープサイズは256メガバイトになります。

1.6.0_18アップデートノートから引用

以前のリリースのJavaヒープサイズは、デフォルトでは可変ではありませんでした。

于 2012-06-13T18:56:48.793 に答える
3

-Xmxいいえ、オプションを使用して起動時に要求しない限り、自動的に変更されることはありません。

いずれの場合も、32ビットマシンで2GBを超える容量を取得することはできません。それ以上が必要な場合は、大量のRAMを搭載した64ビットオペレーティングシステムを入手する必要があります。

于 2012-06-13T18:52:37.220 に答える
1

aptions-Xmxおよび-Xmsを使用してJVMヒープサイズを指定できます

-Xmx-最大サイズ。-Xms-最小サイズ。

あなたは次のように指定します

 -Xmx64m -Xms32m  (for 64 and 32 MB)
于 2012-06-13T18:52:45.660 に答える
1

いいえ。自動的には変更されません。HotSpot JVMメモリオプションの詳細については、こちらをご覧ください。

JavaOutOfMemoryErrorの処理について詳しくはこちらをご覧ください。

于 2012-06-13T18:54:51.103 に答える