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