Java アーキテクチャ コンポーネントのコレクションです。つまり、 JVM、JRE、 そして JDK 。 それ 解釈と編集のプロセスを統合します。 Java プログラムの作成に関係するすべてのプロセスを定義します。 Java アーキテクチャ プログラムがコンパイルされ実行される方法の各ステップを説明します。
Java アーキテクチャ 次の手順を使用して説明できます。
- Java にはコンパイルと解釈のプロセスがあります。
- Java コンパイラは Java コードをバイト コードに変換します。
- その後、JVM はバイト コードをマシン コードに変換します。
- その後、マシン コードがマシンによって実行されます。
次の図は、 Java アーキテクチャ 各ステップが図的に詳細に説明されています。
では、さらに深く掘り下げて、さらに知識を深めてみましょう Java アーキテクチャ 。 Java アーキテクチャはコンポーネントの集合であることがわかっているため、各コンポーネントについて詳しく説明します。
Java アーキテクチャのコンポーネント
Java アーキテクチャには、次の 3 つの主要コンポーネントが含まれています。
- Java仮想マシン(JVM)
- Java ランタイム環境 (JRE)
- Java 開発キット (JDK)
Java仮想マシン
Javaの主な機能は、 ウォラ 。 WORAの略です 一度書けばどこでも実行可能 。この機能は、コードを一度記述すれば、どこでも、どのオペレーティング システムでも使用できることを示しています。私たちの Java プログラムは、Java 仮想マシンがあるからこそ、どのプラットフォームでも実行できます。これは、Java プログラムを実行する環境を提供する Java プラットフォーム コンポーネントです。 JVM の主なタスクは、バイト コードをマシン コードに変換することです。
JVM は、まずコードをメモリにロードして検証します。その後、コードが実行され、ランタイム環境が提供されます。 Java仮想マシン(JVM) 以下に示す独自のアーキテクチャがあります。
Cで配列の長さを取得する
JVM アーキテクチャ
JVM は、Java バイトコードが実行される環境を提供する抽象マシンです。下にある図は JVM のアーキテクチャを表しています。
クラスローダー: ClassLoader は、クラス ファイルをロードするために使用されるサブシステムです。 ClassLoader は、Java コードを実行するたびに、まず Java コードをロードします。
クラスメソッド領域: メモリには、コードの実行中にクラス データが保存される領域があります。クラスメソッド領域には、静的変数、静的メソッド、静的ブロック、インスタンスメソッドの情報が保持されます。
ヒープ: ヒープ領域は JVM メモリの一部であり、JVM の起動時に作成されます。サイズはアプリケーションの実行中に増加または減少するため、静的であってはなりません。
スタック: スレッドスタックとも呼ばれます。単一の実行スレッド用に作成されます。スレッドはこの領域を使用して、部分的な結果、ローカル変数、メソッドの呼び出しや戻り値などに使用されるデータなどの要素を保存します。
ネイティブスタック: これには、アプリケーションで使用されるすべてのネイティブ メソッドの情報が含まれています。
実行エンジン: これは JVM の中心部分です。その主なタスクは、バイト コードを実行し、Java クラスを実行することです。実行エンジンには、Java クラスの実行に使用される 3 つの主要なコンポーネントがあります。
Javaネイティブインターフェース
Javaのintから文字列へ
Java ネイティブ インターフェイスは、Java メソッド呼び出しとネイティブ ライブラリの間の仲介者として機能します。
Javaランタイム環境
Javaプログラムを実行する環境を提供します。 JRE は Java コードを取得し、必要なライブラリと統合してから、JVM を起動して実行します。 Java ランタイム環境について詳しくは、 ここをクリック 。
Java開発キット
Javaアプリケーションやアプレットの開発に使用されるソフトウェア開発環境です。 Java Development Kit には、JRE、コンパイラ、インタプリタまたはローダ、およびいくつかの開発ツールが含まれています。 Java Development Kit の詳細については、ここをクリックしてください。
これらは Java アーキテクチャの 3 つの主要なコンポーネントです。プログラムの実行は、これら 3 つのコンポーネントすべてによって行われます。