JVMに関連する知識ポイントは何ですか?

ルバン大学のJVMに関する知識

Javaプログラマーにとって、JVMは多くのJava知識ポイントの非常に重要な部分であり、この知識はJavaプログラマーにインタビューするときにしばしば見直されます。したがって、JVMはJavaプログラマーが習得する必要があります。私は、Javaプログラマーを支援することを期待して、JVMの主要な知識ポイントのいくつかを特別に整理しました。JVMシステムは、一般的に次の4つの部分に分かれています。

1.クラスの読み込みメカニズム。学習に焦点を当てる:①。クラスローディングとは;②。クラスライフサイクル;③。クラスローダー;④。親委任モデル。

JVMに関連する知識ポイントは何ですか?

2.JVMメモリ構造。

①.javaヒープ(Heap)は、java仮想マシンによって管理される最大のメモリです。javaヒープは、すべてのスレッドで共有されるメモリ領域であり、仮想マシンの起動時に作成されます。このメモリ領域の唯一の目的はオブジェクトインスタンスを格納することであり、ほとんどすべてのオブジェクトインスタンスがここにメモリを割り当てます。

②。メソッドエリア(メソッドエリア)は、javaヒープと同様に、各スレッドで共有されるメモリエリアであり、仮想マシンによってロードされたクラス情報、定数、静的変数、およびジャストインタイムコンパイラコンパイルを格納するために使用されます。次のコードとその他のデータ。

③。プログラムカウンタレジスタ、プログラムカウンタレジスタは小さなメモリスペースであり、その機能は現在のスレッドによって実行されるバイトコードの行番号インジケータとして見ることができます。

④.JVMスタック(JVMスタック)は、プログラムカウンターと同様に、java仮想マシンスタック(java仮想マシンスタック)もスレッドプライベートであり、そのライフサイクルはスレッドと同じです。仮想マシンスタックは、javaメソッド実行のメモリモデルを記述します。各メソッドが実行されると、ローカル変数テーブル、操作スタック、動的リンク、メソッド出口などの情報を格納するためのスタックフレームが同時に作成されます。実行が完了するまで呼び出される各メソッドのプロセスは、スタッキングからスタッキングへの仮想マシンスタック内のスタックフレームのプロセスに対応します。

⑤。ネイティブメソッドスタック(ネイティブメソッドスタック)、ネイティブメソッドスタック(ネイティブメソッドスタック)、および仮想マシンスタックは非常によく似た役割を果たしますが、違いは、仮想マシンスタックが仮想マシンのjavaメソッド(つまり、バイト)を実行することです。コード)サービス、およびネイティブメソッドスタックは、仮想マシンで使用されるネイティブメソッドを提供します。

JVMに関連する知識ポイントは何ですか?

3. GCアルゴリズム、ガベージコレクション。重要な学習:①。オブジェクトの生存の判断;②。GCアルゴリズム;③。ガベージコレクター。

4. GC分析、注文調整。主な学習:①.GCログ分析;②。チューニングコマンド;③。チューニングツール。

おすすめ

転載: blog.51cto.com/14993817/2547441