ホームページ Java &#&はじめる スタックメモリ、ヒープメモリ、メソッド領域の関係の解析

スタックメモリ、ヒープメモリ、メソッド領域の関係の解析

Jul 30, 2020 pm 04:37 PM
ヒープメモリ

スタックメモリ、ヒープメモリ、メソッド領域の関係の解析

最初にコードを見てみましょう:

(推奨チュートリアル: Java 入門チュートリアル)

package cn.liang.jvm;
    public class SimpleHeap {	
            private int id;	
            public SimpleHeap(int id){		
                this.id = id;
	    }	
        public void show(){
	    System.out.println("My ID is " + id);
	}	
        public static void main(String[] args) {
		SimpleHeap s1 = new SimpleHeap(1);
		SimpleHeap s2 = new SimpleHeap(2);
		s1.show();
		s2.show();
	}
}
ログイン後にコピー

関係図:

スタックメモリ、ヒープメモリ、メソッド領域の関係の解析

(ビデオ チュートリアルの推奨: java ビデオ チュートリアル)

  • SimpleHeap インスタンス自体は、ヒープ メモリ

  • SimpleHeap クラスを説明する情報はメソッド領域に格納されます。

  • main() 内の s1 および s2 ローカル変数関数は Java スタック メモリに保存され、ヒープを指します。メモリの 2 つのインスタンス

ヒープ領域:

1。保存されているすべてのオブジェクトはオブジェクトであり、各オブジェクトには次のものが含まれます。対応するクラスに関する情報。 (クラスの目的は操作命令を取得することです)

2. JVM にはすべてのスレッドで共有されるヒープ領域 (ヒープ) が 1 つだけあり、ヒープには基本型やオブジェクト参照は格納されず、オブジェクト自体のみが格納されます。保管されています。

スタック領域:

1. 各スレッドにはスタック領域が含まれます。基本データ型のオブジェクトとカスタム オブジェクトへの参照 (オブジェクトではない) のみがスタックに格納されます。オブジェクトはヒープ ゾーン

2. 各スタック内のデータ (元の型とオブジェクト参照) はプライベートであり、他のスタックからアクセスすることはできません。

3. スタックは基本型変数領域、実行環境コンテキスト、演算命令領域(ストレージ操作命令)の3つに分かれています。

メソッド領域:

1. ヒープと同様に静的領域とも呼ばれ、すべてのスレッドによって共有されます。メソッド領域には、すべてのクラス変数と静的変数が含まれます。

2. メソッド領域には、クラス変数や静的変数など、プログラム全体で常に一意な要素が含まれます。

以上がスタックメモリ、ヒープメモリ、メソッド領域の関係の解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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