以下のエディターは、Java ストレージと Java オブジェクト の作成プロセスに関する記事 (詳細な説明) を提供します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。エディターと一緒に見てみましょう
java ストレージ:
1) 登録: これは、プロセッサー内にある最速のストレージ領域です。ただし、レジスタの数には限りがあるため、需要に応じてレジスタが割り当てられます。私たちはそれを直接行うことはできません。
2) スタック: は一般的な RAM に配置されており、スタック ポインターを介してプロセッサから直接サポートを得ることができます。スタック ポインタが下に移動すると、新しいメモリが割り当てられます。オンラインに移行するとメモリが解放されます。ただし、
ポインターを上下に移動するには、プログラムを作成するときに、スタックに格納されているすべての項目の具体的な ライフサイクルを知っておく必要があります。通常は、基本型と Java オブジェクト参照を保存します。
3) ヒープ: は一般的な RAM に配置され、特定のライフサイクルを認識せずにすべての Java オブジェクトを保存します。
4) 定数ストレージ: 定数値は通常、プログラムコード内に直接保存されます。
5) 非 RAM ストレージ: データはプログラムの外でも完全に存続し、プログラムの制御外にある可能性があり、プログラムが実行されていないときにも存在する可能性があります。オブジェクトを他のメディアに保存できるものに変換することです。例: ストリーム オブジェクト、永続オブジェクト
オブジェクト作成のプロセス:
1): static への明示的な呼び出しがない場合でも、コンストラクターは実際には static メソッドです。したがって、オブジェクトが初めて作成されるとき、または静的メソッド/静的フィールドが初めて呼び出されるとき、Java インタプリタはクラス パスを検索してクラス ファイルを見つける必要があります。 2):
クラスファイルをロードすると、関連する静的メソッドまたは変数が実行されます。したがって、静的初期化は、クラスのロード時に 1 回だけ初期化されます。 3):
newを使用してが作成されると、最初にヒープ上のオブジェクトに十分な記憶域が割り当てられます。 4):
この領域をゼロにクリアすると、オブジェクト内の基本的なメンバー変数または参照がデフォルトで自動的に初期化されます。番号はゼロで、参照は null です。 5):
フィールド定義に表示されるすべての初期化アクションを実行します。 6):
コンストラクターを実行します。
以上がJava ストレージと Java オブジェクト作成プロセスの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。