logo

Java アーキテクチャ

Java アーキテクチャ コンポーネントのコレクションです。つまり、 JVM、JRE、 そして JDKそれ 解釈と編集のプロセスを統合します。 Java プログラムの作成に関係するすべてのプロセスを定義します。 Java アーキテクチャ プログラムがコンパイルされ実行される方法の各ステップを説明します。

Java アーキテクチャ 次の手順を使用して説明できます。

  • Java にはコンパイルと解釈のプロセスがあります。
  • Java コンパイラは Java コードをバイト コードに変換します。
  • その後、JVM はバイト コードをマシン コードに変換します。
  • その後、マシン コードがマシンによって実行されます。

次の図は、 Java アーキテクチャ 各ステップが図的に詳細に説明されています。

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 のアーキテクチャを表しています。

Java アーキテクチャ

クラスローダー: ClassLoader は、クラス ファイルをロードするために使用されるサブシステムです。 ClassLoader は、Java コードを実行するたびに、まず Java コードをロードします。

クラスメソッド領域: メモリには、コードの実行中にクラス データが保存される領域があります。クラスメソッド領域には、静的変数、静的メソッド、静的ブロック、インスタンスメソッドの情報が保持されます。

ヒープ: ヒープ領域は JVM メモリの一部であり、JVM の起動時に作成されます。サイズはアプリケーションの実行中に増加または減少するため、静的であってはなりません。

スタック: スレッドスタックとも呼ばれます。単一の実行スレッド用に作成されます。スレッドはこの領域を使用して、部分的な結果、ローカル変数、メソッドの呼び出しや戻り値などに使用されるデータなどの要素を保存します。

ネイティブスタック: これには、アプリケーションで使用されるすべてのネイティブ メソッドの情報が含まれています。

実行エンジン: これは JVM の中心部分です。その主なタスクは、バイト コードを実行し、Java クラスを実行することです。実行エンジンには、Java クラスの実行に使用される 3 つの主要なコンポーネントがあります。

    通訳者:バイトコードをネイティブコードに変換して実行します。コードを順番に実行します。通訳者は継続的に通訳を行い、同じ方法でも複数回通訳します。これによりシステムのパフォーマンスが低下するため、これを解決するために JIT コンパイラが導入されました。JITコンパイラ:JIT コンパイラは、インタプリタの欠点を取り除くために導入されました。実行速度が向上し、パフォーマンスが向上します。ガベージコレクター:ガベージ コレクターはメモリを管理するために使用され、Java で書かれたプログラムです。それは 2 つのフェーズで動作します。つまり、 マーク そして 掃く 。マークは、ガベージ コレクターがメモリの使用済みチャンクと未使用チャンクを識別する領域です。スイープは、識別されたオブジェクトを マーク

Javaネイティブインターフェース

Javaのintから文字列へ

Java ネイティブ インターフェイスは、Java メソッド呼び出しとネイティブ ライブラリの間の仲介者として機能します。

Javaランタイム環境

Javaプログラムを実行する環境を提供します。 JRE は Java コードを取得し、必要なライブラリと統合してから、JVM を起動して実行します。 Java ランタイム環境について詳しくは、 ここをクリック

Java開発キット

Javaアプリケーションやアプレットの開発に使用されるソフトウェア開発環境です。 Java Development Kit には、JRE、コンパイラ、インタプリタまたはローダ、およびいくつかの開発ツールが含まれています。 Java Development Kit の詳細については、ここをクリックしてください。

これらは Java アーキテクチャの 3 つの主要なコンポーネントです。プログラムの実行は、これら 3 つのコンポーネントすべてによって行われます。