Class1:
1 package cn.skyfffire; 2 3 /** 4 * 5 * @author skyfffire 6 * 7 */ 8 public class Class1 { 9 static { 10 System.out.println("Class1 loaded."); 11 } 12 }
Class2:
1 package cn.skyfffire; 2 3 /** 4 * 5 * @author skyfffire 6 * 7 */ 8 public class Class2 { 9 static { 10 System.out.println("Class2 loaded."); 11 } 12 }
Test:
1 package cn.skyfffire; 2 3 /** 4 * 5 * @author skyfffire 6 * 7 */ 8 public class Test { 9 public static void main(String[] args) { 10 new Class2(); 11 } 12 }
Output:
Class2 loaded.
可以看出来,只有被使用的类才会被载入虚拟机。