JVM仮想マシンの知識

######## 2台のJVMの仮想マシンの詳細な知識##############################
の.javaのHotSpot™64 VMサーバーへのビットのクライアントVM
jdk1.7 - > JDK / JRE / libに/ I386

二.jvm設定
JVM構造:

クラスローダ・サブシステム:
ファイルシステムやネットワークからのクラス情報を読み込むための責任。
メソッドエリア:
ストレージ・クラス情報と定数プール情報の
Javaスタック:
プライベートJavaスタックのすべてのJava仮想マシンのスレッド。
Javaスタックは、ローカル変数、メソッドのパラメータを保持しています。
Javaヒープ:
Javaオブジェクトのインスタンスを保存します。保有者(permanen)に代わって、若い世代(エデン、S0、S1)、歳(旧):あり

ダイレクトメモリ:
JavaのNIOライブラリーは、Javaプログラムメモリを直接使用することができます。
Javaは、システムメモリ空間に直接適用するには、ダイレクト・メモリ・スタックの外にあります。
読み取りと書き込みの頻繁な機会。
ネイティブメソッドスタック:
ネイティブメソッドスタックは(通常はCで書かれた)ローカルメソッドが使用されて呼び出します。
ガベージコレクションシステム:
サブコレクタ(シリアル、ParNew、並列の清掃)
フルコレクタ(CMS、シリアル旧旧Parall)
G1

PCレジスタ:
すべてのスレッドプライベートな空間。
現在のメソッドがローカルメソッドである場合は、PCレジスタの値が定義されていません。
現在のメソッドがネイティブでない場合は、PCレジスタは、現在実行中の命令を指します。

実行エンジン:
は、Java HotSpotクライアントVM(-client)
は、Java HotSpot VMサーバー(-server)

図3 .jvmスタック構造と世代
JVM図スタック構造:

JVMスタック世代:
新世代:
1:1:ホットスポット新世代、より大きなエデン(エデンスペースと2つの小さなサバイバー(生存者空間、8のデフォルト比にブロックに分割
領域がエデンでない場合十分なスペースが割り当てられた場合、仮想マシンはマイナーGCを起動します。
古い年齢:
新世代の数を経験した(まだGC仮想マシンの構成オブジェクトの後に生き残った特定のしきい値は、古い時代に入ります参照してください。
GCのために回復も遅い低周波、。
永遠の世代:
永久世代ストレージクラス情報、定数、静的変数、コードやその他のデータをコンパイルする時間コンパイラ
のJava仮想マシンの仕様は、ガベージコレクションは、一般的な意志にならないことができないことを指摘しましたガベージコレクション。

4つの一般的なガベージコレクションのアルゴリズム
(1)参照カウントアルゴリズム:
このアルゴリズムは、循環参照の最も致命的な問題を処理することができません。
(2)複製アルゴリズム:

(3)フラグがクリアされるアルゴリズムです。

(4)タグを整理します。

ファイブ.jvmガベージコレクタの
サブコレクタ
シリアル[シリアルコレクタ、単一のGCスレッド。レプリケーションアルゴリズム。]、
ParNew [パラレルコレクタ、スレッドGC複数の。レプリケーションアルゴリズム。]、
清掃を[ParNewと同様平行です。システムのスループットに焦点(ユーザコード実行時間/(実行時間+ユーザコードガベージコレクション時間))]
フルコレクタ
並行マークスイープ
[
同時集、マークスイープアルゴリズム。GCプロセスは、以下の4つのステップに分けられます。
1.初期マーク(マークCMS初期)
2.並行マーク(CMS並行マーク:GCのルーツトレースプロセス)
3.ラベル変更(発言CMS)
4.同時クリア(CMS同時スイープ:さ死者のオブジェクトは、所定の位置に注意をリリースされます。ここで圧縮なしで)
]
シリアル旧[シリアルコレクタ、単一のGCスレッド。アルゴリズム]整理するタグ
、スループットの優先順位]アルゴリズムを- 「仕上げマーク」Parall旧[マルチスレッドとの使用を
G1 [パーティションのコレクションを]


六.JVMの最適化
(1)JDK JVMの最適化関連のコマンドは、一般的に使用される
jvisualvm
最も強力な監視とトラブルシューティングツールを実行するためにJDKを
追跡し、モニタメモリリークへのガベージコレクション、メモリ分析、カップ分析、スレッド分析を実行するとき。
(2)visualgcのプラグインが
インストール> -プラグインを追加> -ダウンロードされています。
(3)JVM共通パラメータ
-Xms:初期ヒープサイズ
-Xmx:最大ヒープサイズ
-Xmn:セット若い世代のサイズ
-Xss:設定された各スレッドのJavaスタックサイズ
-XX:NewSizeパラメータ= N:セット若い世代のサイズ。以下のような:3:3、1の旧世代比に若い世代を示します。
-XX:SurvivorRatio = N:若い世代領域二つエデンサバイバー領域の割合。サバイバーノート二つの領域。例えば:サバイバー= 3:3、エデン表さ2、サバイバー若い世代の総面積を1/5
-XX:MaxPermSizeを= N:設定パーマネント生成サイズ
-XX:MaxTenuringThreshold:セットごみの最大年齢

公開された20元の記事 ウォンの賞賛0 ビュー1197

おすすめ

転載: blog.csdn.net/jinhuding/article/details/104993579
おすすめ