説明
プログラムがクラスをアクティブに使用するとき、クラスがメモリにロードされていない場合、システムは次の 3 つの手順でクラスを初期化します。
クラスのロード手順
1. ロード: クラス ファイルのバイトコード コンテンツをメモリにロードし、これらの静的データをメソッド領域構造内の実行時データに変換します。次に、このクラスを表す java.lang.Class オブジェクトを生成します。これは、メソッド領域のクラス データへのアクセス入り口として機能します。
2. リンク: Java クラスのバイナリ コードを JVM の実行状態にマージするプロセス。
3. クラス コンストラクターの
例
public class ClassLoadingTest{ public static void main (String [] args){ System.out.println(test.m); } } class test{ static { m = 300; } static int m = 100; } //第一步:加载 //第二步:链接结束后m=0 //第三步:初始化结束后,m的值由<clinit>()方法执行决定 /* 这个test构造器<clinit>()方法由类变量的赋值和静态代码块中的语句按照顺序合并产生,类似于 <clinit>(){ m = 300; m = 100; } */
以上がJavaクラスロードの処理例の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。