VMスタックの概要
VMは、背景に表示され、スタック:
そのため、クロスプラットフォームの設計で、Javaの命令はスタックに基づいて設計されています。異なる別のCPUアーキテクチャが、それはレジスタベースとして設計されていません
クロスプラットフォームの利点:小さな命令セット、コンパイラは、実装が容易である、欠点は、同じ機能の必要性をより多くの命令を実行し、パフォーマンスの低下です。
ヒープは、記憶部である一方、スタックユニットは、実行されています
スタックプログラム、すなわちどのようにプログラムを実行する、またはどのように、すなわち、どのようにデータを置くために、データストレージの問題を解決するため、ヒープ、データに対処するために、操作上の問題を解決するために、その上に
ローカル変数とアドレスにはいくつかのいくつかの言及はまた、スタック上に配置することができます
Java仮想マシンのスタックはどのようなものです:
Java仮想マシンのスタックは、Javaスタックとして知られる以前にも、各スレッドは、その内部のスタックフレームの1セーブで(スタックフレーム)、メソッド呼び出しスタックフレームとの対応を、作成した仮想マシンのスタックを作成します。
それはプライベートなスレッドです
ライフサイクル:
スレッドと一致して
役割:
Javaプログラムを実行している担当のローカル変数、彼の保存方法(8つの基本データ型、オブジェクト参照アドレス)、部分的な結果、およびメソッド呼び出しと復帰に参加
2つのカテゴリ変数のポイントシステムがあります。
(属性と呼ばれる)のメンバ変数VSローカル変数
基本的なデータ変数VS参照型の変数(ベース、アレイ、インターフェイス)
特長は、スタック:次ぐプログラムカウンタアクセス速度に、ストレージを割り当てるための迅速かつ効率的な方法であります
JVM Javaスタック、2つだけの直接操作
図1に示すように、スタック内の各メソッドの実装を伴います
スタック作業の終了後2、
ガベージコレクションは、それを積み重ねるための問題ではありませんが、そこにOOM
例外のスタックが発生する可能性があります。
Java仮想マシンの仕様は、Javaスタックサイズは、動的または固定されていることができます。だから、2つの異常に対応します
図1に示すように、固定サイズのスタックJava仮想マシンを使用することは、Java仮想マシンの容量の各スレッドは、独立して作成時に選択することができます。スレッドスタックの割り当て要求が許可されたJava仮想マシンより大きな容量の容量を超えた場合は、例外がスローされるにStackOverflowErrorを
十分なメモリには適用されませ拡大しようとしながら、2、Java仮想マシンのスタックのスケーラビリティ、そしてOutOfMemoryErrorが発生を投げます
-Xss:スタックサイズを設定します。
スタック記憶部
どのようなスタック預金?
内部スレッド、スタック、スタックデータはスタックフレームのフォーマット中に存在するました
この方法では、各実行スレッドは、各スタックフレームを有しています
スタックフレームは、メモリ領域である方法の実行中に、各種データを保持するデータの集合です。
OOPの基本的な概念:クラス、オブジェクト、
タイプの基本構造:フィールド(属性フィールド、フィールド)、メソッド
動作原理をスタック:
2つだけの直接操作のJVMスタック、すなわち、スタック及びスタックフレームPOP上のプッシュプッシュは、LIFOに従っ
イベントスレッド、時点は、唯一のアクティブなスタックフレーム、スタックフレームが現在実行されている方法と呼ばれる現在のスタックフレーム(現在のフレーム)が存在することになる、対応する方法は、現在の方法(現在の方法)、この定義であります現在のクラスのメソッドは、クラス(現在のクラス)です。
バイトコード命令の実行エンジンは、現在のスタックフレームのためにのみ作動します
現在の方法は、他のメソッドを呼び出す場合、新しいスタックフレームを対応する新しい現在のスタックフレームと呼ばれるスタックの最上部、上に作成されます。
スタックフレームは、異なるスレッドが別のスレッドのスタックフレームを呼び出すことはできませんスタックフレーム[アリJVMプロセスは不合理なリソースを呼び出すことができます]があることが、互いを参照することはできません含まれてい
現在の方法は、他のメソッドを呼び出す場合、この方法は、スタックフレームに実行するこの方法の結果の前に現在のスタックフレームのリターンの機会を返し、その後、スタックフレームを行う前に、現在のスタックフレームを廃棄する仮想の機会は、現在のスタックフレームになります。
Javaメソッドの2つの方法が復帰命令を使用して、返します正常に戻る機能があり、他がスローされ、使用に、スタックフレームがポップされる原因になりますされていない方法