2
如果您查看文檔(例如http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html),您會發現XX:SurvivorRatio的默認值爲8。Java:爲什麼沒有使用XX的默認值:SurvivorRatio?
如果您檢查正在運行的JVM這一直startet沒有明確設置一個SurvivorRation你可以看到這個默認:
jmap -heap <pid>
將輸出
...
SurvivorRatio = 8
...
但是,如果你檢查S1的最大尺寸S0使用VisualGC,你可以看到使用了SurvivorRatio = 1。
的圖片,如果你明確地啓動Java PROGRAMM蒙山-XX變化:SurvivorRatio = 8
那麼,爲什麼默認。不使用的默認值非常令人惱火。
在我的測試中,使用Linux x64上的Java 8,我可以指定沒有其他參數的'-XX:SurvivorRatio',它可以工作。 – 2017-01-11 07:45:54