2012-07-13 54 views
5

大家好,我已经在设置堆大小的时候观察过人们喜欢的值64,128,256,1024 ..如果我在这些数字(比如500)之间给出一个值,是不是会接受这个值?为什么这些数字是重要的和首选的?为什么我们也要升级这种模式的RAM。jvm堆设置模式

请帮我理解。

由于提前, 哈滨

+0

可能是因为人的动力希望有板载全其内存模块更好JVM :) – 2012-07-13 07:10:12

+1

圆形数字很漂亮。至于RAM升级,请尝试找到一个743 MB模块。 – 2012-07-13 07:32:14

回答

4

JVM将接受任何价值,没有异议。使用2^n值只是一个“约定”,使用其他值在实践中不会产生负面影响。

0

如果它不会接受的值,检查是否把一个megabytes中号)或gigabytesģ)改性剂的量之后。

实施例:java -Xms500M -Xmx500M -jar myJavaProgram.jar

另外,看看这个link

2

好吧,如果你仔细想想这样说:

  • 1字节为8位

  • 1 KB = 1024个字节

  • 1 MB = 1024 KB

  • 1 gb = 1024 mb

  • ...等等......

这不仅仅是2^n。计算机内存方面的东西与第八号密切相关 - 在大多数现代计算机中定义一个字节的数字。

位组合在一起的主要原因是为了表示字符。由于计算所有东西的二元性质,比特的理想'块'的权力为2,即1, 2, 4, 8, 16, 32...。 (主要是因为它们总是可以分成更小的平等包(它也创建了存储大小的捷径,但这是另一回事))。显然,4位(在某些圈子里有nbble)可以给我们2^4或16个独特的字符。由于大多数字母比这更大,所以2^8(或256个字符)是更合适的选择。

存在使用其他长度字节(特别是7或9)的机器。这并没有真正存活,主要是因为它们不容易操纵。你当然不能将奇数分成两半,这意味着如果你要分割字节,你将不得不跟踪比特串的长度。最后,8也是一个很方便的数字,许多人(心理学家等)声称,人类大脑一般只能立即回忆7-8件事(不用玩记忆技巧)。

+0

非常感谢有价值的信息。 – Habin 2012-07-19 17:43:38

0

为什么我们也在这种模式下升级RAM。

这是因为内存芯片/卡/尺寸大小为2个字节的幂。其根本原因在于它使电子设备更简单。而更简单意味着更便宜,更可靠和(可能)更快。

0

除了非书面约定,它也会对性能产生影响 - 具体取决于机器的体系结构。

例如,如果一台机器三元基础,它将工作与设定值的堆大小这是3