Javaのマニュアル(およびWeb上の例)の-Xmxフラグのすべての例では、常に2の累乗です。たとえば、 '-Xmx512m'、 ' - Xmx1024m 'などJavaの-Xmxフラグの有効な値
これは必須条件ですか、何らかの理由で良いアイデアですか?
私は一般的にメモリが2の累乗であることを理解しています。この質問は、特にJavaメモリフラグに関するものです。
Javaのマニュアル(およびWeb上の例)の-Xmxフラグのすべての例では、常に2の累乗です。たとえば、 '-Xmx512m'、 ' - Xmx1024m 'などJavaの-Xmxフラグの有効な値
これは必須条件ですか、何らかの理由で良いアイデアですか?
私は一般的にメモリが2の累乗であることを理解しています。この質問は、特にJavaメモリフラグに関するものです。
これは簡単なことですが、他の何よりもあなたの利益のためです。
2の累乗を選択する特別な理由はありません。また、50 MBの倍数(一般的なもの)も選択できます。 -Xmx400m
または-Xmx750m
注:JVMはこれに厳密に従いません。これを使用して異なる領域のサイズを計算します。追加すると、指定した数よりも軽くなる傾向があります。私の経験では、ヒープは1%〜2%少なくなりますが、JVMが使用する他のすべてのメモリ領域を考慮すると、これは大きな違いはありません。
メモ:ハードウェアのメモリサイズは通常2の累乗です(一部のPCでは2の累乗で3倍でした)。これにより、メモリサイズを2の累乗として考えている人がいます。
BTW:AFAIK、ほとんどのJVMでは、各領域の実際のサイズはページサイズの4 KBの倍数です。
バイナリについて学んだことはありますか?二人の力? '6g'は有効です..それは2の累乗ではありません –
[なぜ2のべき乗でRAMですか?](http://stackoverflow.com/questions/22096327/why-is-ram-in- 2の累乗) –
他の質問とは関係ありませんAFAICS。その質問は、Androidエミュレータとメモリ用のRAMに関するものですが、これは '-Xmx' Javaコマンドラインパラメータの値に関するものです。さらに、その質問に対する回答とこれに対する回答は、互いに衝突しません。 –