1. 基本データ型
#byte
: Java の最小のデータ型で、メモリ内で 8 ビットを占有します。 (ビット)、つまり 1 バイト、値の範囲 -128 ~ 127、デフォルト値 0
short
: 短整数、メモリ内の 16 ビットを占有、つまり 2 ワード セクション、値の範囲 -32768 ~32717、デフォルト値 0
int
: 整数の格納に使用される整数型、メモリ内の 32 ビット、つまり 4 バイトを占有、値の範囲 -2147483648 ~ 2147483647、デフォルト値 0
#long: 長整数、メモリ内で 64 ビット、つまり 8 バイト -2^63~2^63-1 を占有、デフォルト値 0L
float: 浮動小数点型。メモリ内で 32 ビット、つまり 4 バイトを占有し、小数点付きの数値を格納するために使用されます (double との違いは、float 型が有効であることです。小数点は 6 ~ 7 桁のみです) )、デフォルト値は 0
double: 倍精度浮動小数点型。小数点付きの数値を格納するために使用され、メモリ内の 64 ビット、つまり 8 バイトを占有します。デフォルト値0
char: 単一文字の格納に使用される文字タイプは 16 ビット、つまり 2 バイトを占め、値の範囲は 0 ~ 65535 で、デフォルト値は空です
boolean: ブール型、1 バイトを占有し、true または false (true と false の 2 つの値のみ) を決定するために使用され、デフォルト値は false
2. 参照データ型
クラス、インターフェイス型、配列型、列挙型、注釈型。違い:
基本データ型が作成されると、スタック上でメモリが割り当てられ、値はスタックに直接格納されます。 参照データ型を作成するときは、まずスタック上の参照 (ハンドル) にメモリの一部を割り当てる必要があります。オブジェクトの特定の情報はヒープ メモリに保存され、次に参照が割り当てられます。スタック上の はヒープを指し、オブジェクトのアドレスです。 たとえば、属性 name、age を持つクラス person と、パラメータを持つコンストラクター メソッドPerson p = new Person("zhangsan",20);
メモリ内の具体的な作成プロセスは次のとおりです。
1. まずスタック メモリに p の領域を割り当てます; 2. ヒープ メモリに Person オブジェクトの領域を割り当て、その値に初期値 ""、0 を設定します3 つの属性; 3. Person クラスの属性の定義に従って、オブジェクトの 2 つの属性に値を割り当てます; 4. コンストラクターを呼び出して、 two 属性 to "Tom", 20 ; (この時点では p と Person オブジェクトの間に接続が確立されていないことに注意してください); 5. ヒープ メモリ内の Person オブジェクトのアドレスを p に割り当てます。スタック。(ハンドル) p を参照することで見つけることができます。 ヒープ内のオブジェクトに関する詳細情報。関連知識:
静的領域: 自動グローバル変数と静的変数 (静的グローバル変数とローカル変数を含む) を保存します。静的領域の内容はプログラムのライフサイクル全体にわたって存在し、コンパイル中にコンパイラーによって割り当てられます。 ヒープ領域: 一般にプログラマによって割り当ておよび解放され、malloc シリーズ関数または new 演算子によって割り当てられるメモリ。そのライフサイクルは解放または削除によって決定されます。プログラムが終了し、OS によって解放されるまで存在します。柔軟な使用と比較的広いスペースが特徴ですが、エラーが発生しやすいです。 スタック領域:ローカル変数を保存するためにコンパイラによって自動的に確保・解放される領域であり、スタック上の内容は関数の範囲内にのみ存在し、関数が終了するとその内容は自動的に破棄されるという特徴があります。高効率化により、スペースサイズに限りがございます。 リテラル定数領域: 定数文字列がここに配置されます。プログラム終了後にシステムにより解放されます。 その他の関連記事やチュートリアルについては、次のサイトをご覧ください:以上がJava の基本データ型と参照データ型の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。