Java仮想マシンの詳しい説明
1. JVM の主な構造は次のとおりです:
2. 各領域の機能の紹介
1)、メソッド領域:
( 1) 仮想マシンによってロードされるクラス情報を保存するために使用され、定数、静的変数などは、各スレッドによって共有されるメモリ領域です。 (2) デフォルトの最小値は 16MB、最大値は 16MB です。値は 64MB で、-XX:PermSize および -XX:MaxPermSize パラメーターによってメソッド領域のサイズが制限されます
(3) 主に使用されるメソッド領域ランタイム定数プール
の一部もあります。コンパイル中に生成されたリテラルとシンボルを保存するためreferences 、String の intern メソッドなど、実行時に定数を生成することもできます。 (4) Java ヒープと同様に、連続メモリを必要とせず、固定サイズまたは拡張可能で、ガベージ コレクションを実装しないことも選択できます。 2)、スタック:
(1) Java 仮想マシンのスタックはスレッドプライベートで、ライフサイクル
はスレッドと同じです。(2) 各メソッドが実行されると、同時にスタック フレームが作成され、ローカル変数テーブル、演算スタック、ダイナミック リンク、メソッド出口などの情報を格納するために使用されます。各メソッドの実行は、スタックフレームのスタックへの出入りに対応します。
(3) JVM 仮想マシン スタックのローカル変数テーブルには、コンパイル時に既知のさまざまな基本的なデータ型
が格納されます。ローカル変数テーブルに必要なスペースは、コンパイル時に割り当てられます。 (4) スタック フレームは、メソッド実行時の基本的なデータ構造です。 (1) ローカル メソッド スタックは、JVM 仮想マシンによって使用されるネイティブ メソッドを提供します。4)、ヒープ:
(1) Java 仮想マシンによって管理される最大のメモリ部分。(2) Java ヒープは、すべてのスレッドで共有される領域であり、仮想マシンの起動時に作成されます。
(3) メモリ領域の唯一の目的は、オブジェクト
インスタンスを保存することです。すべてのオブジェクト インスタンスと配列
はヒープ上にメモリを割り当てられます。(4) Java ヒープは、主に JVM ガベージ コレクション機構によって管理されるメモリ領域です。Java ヒープは、メモリ内の不連続なメモリ空間に存在することができます。
5)、プログラムカウンター:
(1) 比較的小さいメモリ空間、その機能は現在のスレッドによって実行されるバイトコードの行番号インジケーターと見なすことができます
(2) バイトコードの説明 プログラマが作業するとき、このカウンターの値を変更することで、次のバイトコード命令と実行する分岐を選択します。ループ、ジャンプ、例外処理、スレッド回復などはすべてプログラムカウンターに依存する必要があります。
6)、ランタイム定数プール:
(1) ランタイム定数プールはメソッド領域の一部です。 L (2) aClass
ファイルには、型、フィールド、メソッドインターフェイスの説明、その他の情報などの情報に加えて、コンパイルによって生成されたさまざまな型やシンボル参照を格納するために使用される定数プールもあります。コンテンツのこの部分は、クラスがロードされた後、メソッド領域のランタイム定数プールに保存されます。 7)、ダイレクトメモリ:
Java では NIO が導入され、チャネルとバッファの IO メソッドが導入されたため、ネイティブ メソッドを呼び出してオフヒープ メモリを直接割り当てることができます。このオフヒープ メモリはネイティブ メモリであり、ヒープ メモリ サイズには影響しません。
関連記事:
Java仮想マシンについての深い理解 Java仮想マシン学習 - クラスロードメカニズムJava仮想マシン学習 - オブジェクトのメモリ割り当てとリサイクルJava仮想マシン学習- オブジェクトアクセス以上がJava仮想マシンの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Java のアームストロング番号に関するガイド。ここでは、Java でのアームストロング数の概要とコードの一部について説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです
