ホームページ  >  記事  >  Java  >  Javaスタックとヒープの違いの詳細な紹介

Javaスタックとヒープの違いの詳細な紹介

高洛峰
高洛峰オリジナル
2017-01-24 14:40:471738ブラウズ

Java スタックとヒープの違い

1. ガベージ コレクション メカニズムはヒープ メモリにのみ作用し、スタック メモリとは関係ありません。

2. スタックのアクセス速度はヒープよりも高速です。ローカル変数とオブジェクト参照値を保存する際に

3、ヒープ: より大きな変数を保存します

4、スタックには非常に重要な特別な機能があります。つまり、スタックに格納されたデータは共有できます

コンパイラーが int を処理するときa = 3 の場合、まず a を作成します。変数は a への参照であり、値 3 がスタックに存在するかどうかを確認します。存在しない場合は 3 を格納します。b = を処理する場合も同様です。 3。3 は以前に格納されているため、この時点でコンパイルします。コンパイラは、作成された b 変数を 3 にポイントするだけで済みます (これはスペースの節約に役立ちます)。
この時、aとbは同時に3を指しますが、使用には影響しません。このとき a = 4; と定義した場合、4 をメモリに格納する必要があり、a は 4 を指します。a の値を変更しても b の値には影響しません。

内存的划分:
 
 
1,寄存器。
2,本地方法区。
3,方法区。
4,栈内存。
 存储的都是局部变量。
 而且变量所属的作用域一旦结束,该变量就自动释放。
5,堆内存。
 存储是数组和对象(其实数组就是对象) 凡是new建立在堆中。
 特点:
 1,每一个实体都有首地址值。
 2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或者0.0f,boolean false char '\u0000'
 3,垃圾回收机制。


読んでいただきありがとうございます、皆さんのお役に立てれば幸いです、このサイトをサポートしていただきありがとうございます!

Java スタックとヒープの違いの詳細については、PHP 中国語 Web サイトに注目してください。

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