Java でデータを保存する方法: 1. レジスタを使用して保存します (これは最も高速な保存領域です); 2. スタックを使用して新しいメモリを作成します; 3. 静的ストレージを使用して呼び出しを待機しますいつでも; 4. 定数ストレージの使用は、プログラム コード内に直接配置されます。
Java データ保存方法:
(1) 登録します。 これは、他のすべての保存方法とは異なる場所、つまりプロセッサー内に配置されているため、最も高速な保存領域です。ただし、レジスタの数は非常に限られているため、レジスタは必要に応じてコンパイラによって割り当てられます。これを直接制御することはできず、プログラム内でレジスタの存在の痕跡を見つけることは不可能です。 (2) スタックします。 通常の RAM (ランダム アクセス メモリ) 領域に常駐しますが、「スタック ポインタ」を介した処理を直接サポートします。スタック ポインタを下に移動すると新しいメモリが作成され、上に移動するとそのメモリが解放されます。これは、レジスタに次いで非常に高速かつ効率的にデータを保存する方法です。プログラムを作成するとき、Java コンパイラーは、スタック上に保持されるすべてのデータの「長さ」と「長さ」を正確に把握する必要があります。これは、ポインターを上下に移動するための適切なコードを生成する必要があるためです。この制限は間違いなくプログラムの柔軟性に影響を与えるため、一部の Java データ (特にオブジェクト ハンドル) はスタックに保存されますが、Java オブジェクトはスタックに配置されません。 (3) ヒープ。 Java オブジェクトが格納される汎用メモリ プール (RAM 領域にもあります)。スタックとは異なり、「メモリ ヒープ」または「ヒープ」の最も魅力的な点は、コンパイラーがヒープから割り当てる記憶域スペースの量を知る必要がなく、保存されたデータがどのくらいの期間保持されるかを知る必要もないことです。山の中。したがって、ヒープを使用してデータを保存する際の柔軟性が向上します。オブジェクトを作成する必要がある場合は、 new コマンドを使用して関連するコードをコンパイルするだけです。これらのコードが実行されると、データは自動的にヒープに保存されます。もちろん、この柔軟性には代償が伴います。ヒープ上にストレージ領域を割り当てるのに時間がかかります。 (4) 静的ストレージ。 ここでの「静的」とは、「固定の場所に配置される」ことを意味します (ただし、RAM にもあります)。プログラムの実行中、静的に保存されたデータはいつでも呼び出されるのを待機しています。 static キーワードを使用すると、オブジェクトの特定の要素が静的であることを示すことができます。ただし、Java オブジェクト自体が静的ストレージに配置されることはありません。 (5) 一定のストレージ。 定数値は通常、プログラム コード内に直接配置されます。決して変更されないため、これは安全です。一部の定数は厳密に保護する必要があるため、読み取り専用メモリ (ROM) に配置することを検討してください。 (6) 非 RAM ストレージ。 データがプログラムから完全に独立している場合、プログラムが実行されておらず、プログラムの制御範囲外にあるときでもデータは存在する可能性があります。最も重要な例の 2 つは、「ストリーミング オブジェクト」と「固定オブジェクト」です。ストリーミング オブジェクトの場合、オブジェクトはバイトのストリームに変換され、通常は別のマシンに送信されます。固定オブジェクトの場合、オブジェクトはディスクに保存されます。プログラムが終了しても、その状態は維持されます。この種のデータ ストレージで特に役立つのは、データ ストレージが他のメディアに存在できることです。必要に応じて、通常の RAM ベースのオブジェクトに復元することもできます。 Java 1.1 は、軽量永続性のサポートを提供します。将来のバージョンでは、より完全なソリューションが提供される可能性もあります。関連する学習の推奨事項:
以上がJavaでデータを保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。