2012-07-13 25 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