Java仮想マシン(JVM)の基本概念詳細


1、クラスローディングサブシステム:ファイルシステムまたはネットワークからClass情報をロードし、ロードされた情報をメソッドエリアと呼ばれるメモリ空間に格納する。
2、方法区:保存類情報、定数情報、定数池情報、文字列の字面量と数字定数などを含む。方法領域は補助スタックのブロック永久領域であり、スタック情報の生成を解決することが先決条件である。
3、Javaヒープ:Java仮想マシンの起動時にJavaヒープを建立します。それはjavaプログラムの最も主要なメモリ作業領域です。ほとんどの対象事例はJavaヒープに保存されています。ヒープ空間はすべてのスレッド共有です。ヒープが解決しているのはデータの保存問題です。つまりデータはどうやって置きますか?どこに置きますか?
4、直接メモリ:JavaのNIOライブラリはJavaプログラムが直接メモリを使用することを許可し、性能を向上させ、通常直接メモリの速度はJavaスタックより優れています。読み書きが頻繁な場合は、使うことを考慮するかもしれません。
5、各仮想マシンスレッドにはプライベートなスタックがあり、スレッドのJavaスタックはスレッド作成時に作成され、Javaスタックには局所変数、方法パラメータ、同時にJavaの方法で呼び出し、戻り値などが保存されています。スタックはプログラムの動作問題を解決します。つまり、プログラムはどのように実行しますか?それともデータをどのように処理しますか?
6、ローカル方法スタック:Javaスタックと非常に類似しており、最大の違いはローカル方法の起動のためのローカル方法スタックであり、Java仮想マシンはJavaが直接ローカル方法を起動することを許可する。
7、ゴミ収集システム:Javaの核心であり、不可欠であり、Javaは自分でゴミを整理する仕組みがあり、開発者は手作業で整理する必要がない。
8、PCレジスタ:各スレッドのプライベート空間、Java仮想機会は各スレッドのためにPCレジスタを作成し、任意のタイミングで、Javaスレッドは常に一つの方法を実行しています。この方法は現在の方法と呼ばれています。現在の方法がローカル方法でない場合、PCレジスタは現在実行されているコマンドを実行します。ローカル方法であれば、PCレジスタ値はundefinedです。レジスタは、現在実行されている環境ポインタ、プログラムカウンタ、操作スタックポインタ、計算されている変数ポインタなどの情報を格納します。
9、仮想マシンの最も核心的なコンポーネントはエンジンを実行します。仮想マシンのバイトコードを実行する責任があります。一般ユーザーは先にマシンコードにコンパイルしてから実行します。
以上のJava仮想マシン(JVM)の基本概念の詳細は、小編集が皆さんに提供した内容の全部です。参考にしていただければと思います。どうぞよろしくお願いします。