Javaのメモリ割り当て

巴扎黑
リリース: 2017-06-26 10:20:36
オリジナル
1707 人が閲覧しました

プログラムの効率を向上させるために、Java プログラムはデータに異なる領域を割り当てます:

具体的な分割は次の 5 つのメモリ割り当て方法です:

1. スタック: ローカル変数を格納します。

2. すべての新しい領域を格納します。

3. メソッド領域:

4. ローカルメソッド領域: (システム関連)

5. レジスタ: (CPU 使用率)

メソッド定義内の変数ローカル変数と呼ばれます

ヒープメモリの特徴:

1. すべての新しいものにはアドレス値があります

2. すべての変数にはデフォルト値があります

byte、short、int、long は 0

float、doubleは 0.0

char "u0000" は empty

と同等です 参照型は null

3. 使用後はゴミになりますが、すぐにはリサイクルされず、ゴミコレクターに回収されます。無料。

スタックメモリの特徴:

データがスコープ外に出ると解放される

配列名の値がアドレス、配列要素の値(配列名[インデックス])が値配列に格納されたデータ。

int[] arr3 = arr; //これにより、arr のアドレスが arr3 に与えられます。arr と arr3 の最初のアドレスは同じになります。

ArrayIndexOutOfBoundsException: 配列インデックスの範囲外の例外

原因: 存在しないインデックスにアクセスしました

NullPointerException: Null ポインター例外

原因: 配列名の値が null であり、配列を指していませんアドレス値。また、配列名を使用してその要素にアクセスすることもできます。

配列属性: 長さ、配列の長さを取得するために使用されます。

形式: 配列名.長さ

以上がJavaのメモリ割り当ての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート