Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java仮想マシン(JVM)スタック領域


以下は、JVMスタック領域を理解するためのいくつかの重要なポイントです-

  • スレッドの作成中に、Java仮想マシンは別のスタックを作成します。

  • JVMは、このスタックに対して2つの操作のみを実行します。操作は、プッシュ(つまり挿入)とポップ(つまり削除)です。

  • スレッドが現在実行中の場合、そのスレッドに関連付けられているスタックはランタイムスタックと呼ばれます。

  • スレッドによって実行されるすべてのメソッド呼び出し、中間計算、ローカル変数の割り当て、パラメーターの呼び出しなどは、ランタイムスタックに操作として格納されます。

  • スレッドが停止するか実行が完了すると、スタックからそれぞれの部分が削除されます。

  • スレッドによるすべての呼び出しが完了すると、スタックは空になり、削除されます。

  • スレッドを終了する直前に、JVMはスレッドに関連付けられたスタックを破棄します。

  • スレッドに関連付けられたデータを格納するスタックは、その特定のスレッドでのみ使用可能であり、他のスレッドにはアクセスできません。

  • これは、スタック内のデータがスレッドセーフであることを示しています。

  • スレッドに関連付けられたスタック内のすべてのデータは、アクティベーションレコードまたはスタックフレームと呼ばれます。

−JVMスタックに連続したメモリ位置を設定することは必須ではありません。

アクティベーションレコード/スタックフレームの構造

3つの構成要素で構成されています-

  • ローカル変数配列、

  • オペランドスタック、および

  • フレームデータ

  • JVMは、クラスデータを調べて、必要なサイズのスタックフレームを作成します。

  • オペランドスタックは、JVMのワークスペースのように機能し、中間の計算結果を格納するために使用されます。ローカルでは変数配列のように構造化されていますが、スタックでプッシュおよびポップ操作を実行することでアクセスできます。

  • フレームデータ-定数データ値とメソッドが返すデータが含まれます。これに加えて、例外をキャッチする必要があり、関連するメッセージをコンソールに表示する必要がある場合のキャッチブロックに関するすべての情報を含む例外テーブルへの参照が含まれています。


  1. 正方形の領域を見つけるJavaプログラム

    この記事では、正方形の面積を見つける方法を理解します。正方形の面積は、次の式を使用して計算されます- side*side i.e. s2 以下は同じのデモンストレーションです- 正方形の辺がsの場合、正方形の面積はs 2で与えられます。 − 入力 入力が-であると仮定します Length of the side : 4 出力 必要な出力は-になります Area of the square : 16 アルゴリズム Step 1 - START Step 2 - Declare 2 integer values namely my_side and my_area. S

  2. 修正:Java仮想マシンを作成できませんでした

    一部のユーザーは、Java仮想マシンを作成できませんでした Javaを使用しているアプリケーションを起動しようとするとエラーが発生します。この特定の問題は、MinecraftおよびJavaを中心に構築された他のいくつかのアプリケーションで発生することが報告されています。 「Java仮想マシンを作成できませんでした」エラーの原因は何ですか? さまざまなユーザーレポートと、同じエラーメッセージを解決するために使用したトラブルシューティング戦略を調べて、この特定の問題を調査しました。彼らの結論に基づいて、この特定の問題を引き起こすいくつかのシナリオがあります: Javaが間違った引数または