ホームページ  >  記事  >  Java  >  Javaのメモリ割り当て

Javaのメモリ割り当て

巴扎黑
巴扎黑オリジナル
2017-06-26 10:20:361648ブラウズ

プログラムの効率を向上させるために、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 サイトの他の関連記事を参照してください。

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