仮想マシンクラスのロードメカニズム(準備)

準備ができました

準備段階では、クラス変数にメモリスペースを正式に割り当てます。そして、クラス変数の初期値を設定する段階で、これらの変数が使用するメモリがメソッド領域に割り当てられます。この段階では、2つの紛らわしい概念があります。まず、この時点でのメモリ割り当てを強調する必要があります。 staticによって変更されたクラスVariablesのみが含まれます。インスタンス変数を含める代わりに、オブジェクトがインスタンス化されるときに、インスタンス変数がオブジェクトとともにアーマースタックに割り当てられます。次に、ここで説明する初期化は通常、データ型のゼロ値を参照します。
前述のように、通常の状況では初期値はゼロであるため、クラスフィールドの属性テーブルに定数値属性がある場合、いくつかの特殊なケースがあります。次に、準備フェーズで、変数値が定数値属性で指定された値に初期化されます。たとえば、finalによって変更されます。

おすすめ

転載: blog.csdn.net/weixin_39472101/article/details/110704367