2014/06/06

jvm 理解深める


◆クライアントVMモード

    起動時間を短縮し、メモリサイズを縮小するように調整されている。
    VM起動時に「-client」オプションを付けて実行する。

◆サーバVMモード

    プログラム実行速度が最大になるように設計されている。
    VM起動時に「-server」オプションを付けて実行する。


=>確認できるよ。。
java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)



-XX:NewRatio ・・・ New 領域と Old 領域の比率は1:X? 何が理解しずらいね。。
oldはnewの何倍で理解する方が早い。。くせやろう
-XX:NewRatio=4   ==>4の場合、NEW:OLD = 1:4になり、「NEW」領域はヒープサイズの1/5になります。

★-XX:SurvivorRatio
==>サーバVMのデフォルトでは「Eden領域:From領域:To領域=8:1:1」となっており、New領域の8割がEden領域に割り当てられていることになる。
==>これも一緒だようね。相手は自分の何倍である。


・New 領域 ( Young Generation ) :ヒープ領域
-->eden とSurvivor
==>いっぱいになると。Scavenge GCをする

Old 領域 =>Tenured
Old 領域が一杯になると Full GC ( 重い GC 処理 ) が行われます。