1、例1:

 1 /*
 2 按需加载:当你不去实例化Cat时,Cat相关类都不会被加载,即按需加载(需要时加载)
 3 1、先加载父类
 4 2、初始化类
 5 3、类只加载一次(暂且这么认为)——缓存
 6 
 7 加载方法:1、隐式加载 2、显式加载
 8 */
 9 public class Example {
10     public static void main(String[] args) throws ClassNotFoundException {
11         System.out.println("\n准备实例化Cat");
12         Cat cat = new Cat();                     //隐式加载,这里先加载父类
13         System.out.println("Cat实例化完成");
14         
15         System.out.println("\n准备加载MyTest类");
16         System.out.println("第一次调用Class.forname()");
17         Class.forName("MyTest");                           //显式加载类,用Class.forName("com.taobao.ju.MyTest");
18         System.out.println("第二次调用Class.forname()");   //缓存机制:一旦一个类被载入JVM中,同一个类就不会再被载入了。
19         Class.forName("MyTest");
20         
21         System.out.println("\n准备加载MyTest2类");  //Class.forName()加载类同时 强制初始化类(初始化静态部分)
22         Class.forName("MyTest2");
23         
24         System.out.println("\n准备加载MyTest3类");
25         ClassLoader c1 = ClassLoader.getSystemClassLoader();
26         c1.loadClass("MyTest3");                //ClassLoader.loadClass() 该语句仅是加载MyTest3类,并不执行该类的初始化
27         System.out.println("第二次调用ClassLoader.loadClass()"); 
28         c1.loadClass("MyTest3"); 
29         
30         System.out.println("\n程序结束\n");
31     }
32 }
33 
34 class Animal {
35     static {
36         System.out.println("I am an animal");
37     }
38 }
39 
40 class Cat extends Animal {
41     static {
42         System.out.println("I am a cat");
43     }
44 }
45 
46 class MyTest {
47     
48 }
49 
50 class MyTest2 {
51     static {
52         System.out.println("MyTest2的静态部分初始化");
53     }
54 }
55 
56 class MyTest3 {
57     static {
58         System.out.println("MyTest3的静态初始化");
59     }
60 }

 

执行时在eclipse里面加上参数-verbose,能够显示详细的加载信息

JAVA类的加载(2) ——按需加载(延迟加载)

结果如下:开始会先加载rt.jar,程序结束后加载java.lang.Shutdown等

  1 [Opened C:\jdk1.6.0\jre\lib\rt.jar]
  2 [Loaded java.lang.Object from C:\jdk1.6.0\jre\lib\rt.jar]
  3 [Loaded java.io.Serializable from C:\jdk1.6.0\jre\lib\rt.jar]
  4 [Loaded java.lang.Comparable from C:\jdk1.6.0\jre\lib\rt.jar]
  5 [Loaded java.lang.CharSequence from C:\jdk1.6.0\jre\lib\rt.jar]
  6 [Loaded java.lang.String from C:\jdk1.6.0\jre\lib\rt.jar]
  7 [Loaded java.lang.reflect.GenericDeclaration from C:\jdk1.6.0\jre\lib\rt.jar]
  8 [Loaded java.lang.reflect.Type from C:\jdk1.6.0\jre\lib\rt.jar]
  9 [Loaded java.lang.reflect.AnnotatedElement from C:\jdk1.6.0\jre\lib\rt.jar]
 10 [Loaded java.lang.Class from C:\jdk1.6.0\jre\lib\rt.jar]
 11 [Loaded java.lang.Cloneable from C:\jdk1.6.0\jre\lib\rt.jar]
 12 [Loaded java.lang.ClassLoader from C:\jdk1.6.0\jre\lib\rt.jar]
 13 [Loaded java.lang.System from C:\jdk1.6.0\jre\lib\rt.jar]
 14 [Loaded java.lang.Throwable from C:\jdk1.6.0\jre\lib\rt.jar]
 15 [Loaded java.lang.Error from C:\jdk1.6.0\jre\lib\rt.jar]
 16 [Loaded java.lang.ThreadDeath from C:\jdk1.6.0\jre\lib\rt.jar]
 17 [Loaded java.lang.Exception from C:\jdk1.6.0\jre\lib\rt.jar]
 18 [Loaded java.lang.RuntimeException from C:\jdk1.6.0\jre\lib\rt.jar]
 19 [Loaded java.security.ProtectionDomain from C:\jdk1.6.0\jre\lib\rt.jar]
 20 [Loaded java.security.AccessControlContext from C:\jdk1.6.0\jre\lib\rt.jar]
 21 [Loaded java.lang.ClassNotFoundException from C:\jdk1.6.0\jre\lib\rt.jar]
 22 [Loaded java.lang.LinkageError from C:\jdk1.6.0\jre\lib\rt.jar]
 23 [Loaded java.lang.NoClassDefFoundError from C:\jdk1.6.0\jre\lib\rt.jar]
 24 [Loaded java.lang.ClassCastException from C:\jdk1.6.0\jre\lib\rt.jar]
 25 [Loaded java.lang.ArrayStoreException from C:\jdk1.6.0\jre\lib\rt.jar]
 26 [Loaded java.lang.VirtualMachineError from C:\jdk1.6.0\jre\lib\rt.jar]
 27 [Loaded java.lang.OutOfMemoryError from C:\jdk1.6.0\jre\lib\rt.jar]
 28 [Loaded java.lang.StackOverflowError from C:\jdk1.6.0\jre\lib\rt.jar]
 29 [Loaded java.lang.IllegalMonitorStateException from C:\jdk1.6.0\jre\lib\rt.jar]
 30 [Loaded java.lang.ref.Reference from C:\jdk1.6.0\jre\lib\rt.jar]
 31 [Loaded java.lang.ref.SoftReference from C:\jdk1.6.0\jre\lib\rt.jar]
 32 [Loaded java.lang.ref.WeakReference from C:\jdk1.6.0\jre\lib\rt.jar]
 33 [Loaded java.lang.ref.FinalReference from C:\jdk1.6.0\jre\lib\rt.jar]
 34 [Loaded java.lang.ref.PhantomReference from C:\jdk1.6.0\jre\lib\rt.jar]
 35 [Loaded java.lang.ref.Finalizer from C:\jdk1.6.0\jre\lib\rt.jar]
 36 [Loaded java.lang.Runnable from C:\jdk1.6.0\jre\lib\rt.jar]
 37 [Loaded java.lang.Thread from C:\jdk1.6.0\jre\lib\rt.jar]
 38 [Loaded java.lang.Thread$UncaughtExceptionHandler from C:\jdk1.6.0\jre\lib\rt.jar]
 39 [Loaded java.lang.ThreadGroup from C:\jdk1.6.0\jre\lib\rt.jar]
 40 [Loaded java.util.Map from C:\jdk1.6.0\jre\lib\rt.jar]
 41 [Loaded java.util.Dictionary from C:\jdk1.6.0\jre\lib\rt.jar]
 42 [Loaded java.util.Hashtable from C:\jdk1.6.0\jre\lib\rt.jar]
 43 [Loaded java.util.Properties from C:\jdk1.6.0\jre\lib\rt.jar]
 44 [Loaded java.lang.reflect.AccessibleObject from C:\jdk1.6.0\jre\lib\rt.jar]
 45 [Loaded java.lang.reflect.Member from C:\jdk1.6.0\jre\lib\rt.jar]
 46 [Loaded java.lang.reflect.Field from C:\jdk1.6.0\jre\lib\rt.jar]
 47 [Loaded java.lang.reflect.Method from C:\jdk1.6.0\jre\lib\rt.jar]
 48 [Loaded java.lang.reflect.Constructor from C:\jdk1.6.0\jre\lib\rt.jar]
 49 [Loaded sun.reflect.MagicAccessorImpl from C:\jdk1.6.0\jre\lib\rt.jar]
 50 [Loaded sun.reflect.MethodAccessor from C:\jdk1.6.0\jre\lib\rt.jar]
 51 [Loaded sun.reflect.MethodAccessorImpl from C:\jdk1.6.0\jre\lib\rt.jar]
 52 [Loaded sun.reflect.ConstructorAccessor from C:\jdk1.6.0\jre\lib\rt.jar]
 53 [Loaded sun.reflect.ConstructorAccessorImpl from C:\jdk1.6.0\jre\lib\rt.jar]
 54 [Loaded sun.reflect.DelegatingClassLoader from C:\jdk1.6.0\jre\lib\rt.jar]
 55 [Loaded sun.reflect.ConstantPool from C:\jdk1.6.0\jre\lib\rt.jar]
 56 [Loaded sun.reflect.FieldAccessor from C:\jdk1.6.0\jre\lib\rt.jar]
 57 [Loaded sun.reflect.FieldAccessorImpl from C:\jdk1.6.0\jre\lib\rt.jar]
 58 [Loaded sun.reflect.UnsafeFieldAccessorImpl from C:\jdk1.6.0\jre\lib\rt.jar]
 59 [Loaded sun.reflect.UnsafeStaticFieldAccessorImpl from C:\jdk1.6.0\jre\lib\rt.jar]
 60 [Loaded java.lang.Appendable from C:\jdk1.6.0\jre\lib\rt.jar]
 61 [Loaded java.lang.AbstractStringBuilder from C:\jdk1.6.0\jre\lib\rt.jar]
 62 [Loaded java.lang.StringBuffer from C:\jdk1.6.0\jre\lib\rt.jar]
 63 [Loaded java.lang.StringBuilder from C:\jdk1.6.0\jre\lib\rt.jar]
 64 [Loaded java.lang.StackTraceElement from C:\jdk1.6.0\jre\lib\rt.jar]
 65 [Loaded java.nio.Buffer from C:\jdk1.6.0\jre\lib\rt.jar]
 66 [Loaded sun.misc.AtomicLong from C:\jdk1.6.0\jre\lib\rt.jar]
 67 [Loaded sun.misc.AtomicLongCSImpl from C:\jdk1.6.0\jre\lib\rt.jar]
 68 [Loaded sun.misc.PostVMInitHook from C:\jdk1.6.0\jre\lib\rt.jar]
 69 [Loaded java.lang.Boolean from C:\jdk1.6.0\jre\lib\rt.jar]
 70 [Loaded java.lang.Character from C:\jdk1.6.0\jre\lib\rt.jar]
 71 [Loaded java.lang.Number from C:\jdk1.6.0\jre\lib\rt.jar]
 72 [Loaded java.lang.Float from C:\jdk1.6.0\jre\lib\rt.jar]
 73 [Loaded java.lang.Double from C:\jdk1.6.0\jre\lib\rt.jar]
 74 [Loaded java.lang.Byte from C:\jdk1.6.0\jre\lib\rt.jar]
 75 [Loaded java.lang.Short from C:\jdk1.6.0\jre\lib\rt.jar]
 76 [Loaded java.lang.Integer from C:\jdk1.6.0\jre\lib\rt.jar]
 77 [Loaded java.lang.Long from C:\jdk1.6.0\jre\lib\rt.jar]
 78 [Loaded java.lang.NullPointerException from C:\jdk1.6.0\jre\lib\rt.jar]
 79 [Loaded java.lang.ArithmeticException from C:\jdk1.6.0\jre\lib\rt.jar]
 80 [Loaded java.io.ObjectStreamField from C:\jdk1.6.0\jre\lib\rt.jar]
 81 [Loaded java.util.Comparator from C:\jdk1.6.0\jre\lib\rt.jar]
 82 [Loaded java.lang.String$CaseInsensitiveComparator from C:\jdk1.6.0\jre\lib\rt.jar]
 83 [Loaded java.security.Guard from C:\jdk1.6.0\jre\lib\rt.jar]
 84 [Loaded java.security.Permission from C:\jdk1.6.0\jre\lib\rt.jar]
 85 [Loaded java.security.BasicPermission from C:\jdk1.6.0\jre\lib\rt.jar]
 86 [Loaded java.lang.RuntimePermission from C:\jdk1.6.0\jre\lib\rt.jar]
 87 [Loaded java.util.AbstractMap from C:\jdk1.6.0\jre\lib\rt.jar]
 88 [Loaded sun.misc.SoftCache from C:\jdk1.6.0\jre\lib\rt.jar]
 89 [Loaded java.lang.ref.ReferenceQueue from C:\jdk1.6.0\jre\lib\rt.jar]
 90 [Loaded java.lang.ref.ReferenceQueue$Null from C:\jdk1.6.0\jre\lib\rt.jar]
 91 [Loaded java.lang.ref.ReferenceQueue$Lock from C:\jdk1.6.0\jre\lib\rt.jar]
 92 [Loaded java.util.HashMap from C:\jdk1.6.0\jre\lib\rt.jar]
 93 [Loaded java.util.Map$Entry from C:\jdk1.6.0\jre\lib\rt.jar]
 94 [Loaded java.util.HashMap$Entry from C:\jdk1.6.0\jre\lib\rt.jar]
 95 [Loaded java.security.AccessController from C:\jdk1.6.0\jre\lib\rt.jar]
 96 [Loaded sun.misc.JavaSecurityAccess from C:\jdk1.6.0\jre\lib\rt.jar]
 97 [Loaded java.security.AccessControlContext$1 from C:\jdk1.6.0\jre\lib\rt.jar]
 98 [Loaded sun.misc.SharedSecrets from C:\jdk1.6.0\jre\lib\rt.jar]
 99 [Loaded sun.misc.Unsafe from C:\jdk1.6.0\jre\lib\rt.jar]
100 [Loaded java.lang.IncompatibleClassChangeError from C:\jdk1.6.0\jre\lib\rt.jar]
101 [Loaded java.lang.NoSuchMethodError from C:\jdk1.6.0\jre\lib\rt.jar]
102 [Loaded sun.reflect.Reflection from C:\jdk1.6.0\jre\lib\rt.jar]
103 [Loaded java.util.Collections from C:\jdk1.6.0\jre\lib\rt.jar]
104 [Loaded java.lang.Iterable from C:\jdk1.6.0\jre\lib\rt.jar]
105 [Loaded java.util.Collection from C:\jdk1.6.0\jre\lib\rt.jar]
106 [Loaded java.util.Set from C:\jdk1.6.0\jre\lib\rt.jar]
107 [Loaded java.util.AbstractCollection from C:\jdk1.6.0\jre\lib\rt.jar]
108 [Loaded java.util.AbstractSet from C:\jdk1.6.0\jre\lib\rt.jar]
109 [Loaded java.util.Collections$EmptySet from C:\jdk1.6.0\jre\lib\rt.jar]
110 [Loaded java.util.RandomAccess from C:\jdk1.6.0\jre\lib\rt.jar]
111 [Loaded java.util.List from C:\jdk1.6.0\jre\lib\rt.jar]
112 [Loaded java.util.AbstractList from C:\jdk1.6.0\jre\lib\rt.jar]
113 [Loaded java.util.Collections$EmptyList from C:\jdk1.6.0\jre\lib\rt.jar]
114 [Loaded java.util.Collections$EmptyMap from C:\jdk1.6.0\jre\lib\rt.jar]
115 [Loaded java.util.Collections$ReverseComparator from C:\jdk1.6.0\jre\lib\rt.jar]
116 [Loaded java.util.Collections$SynchronizedMap from C:\jdk1.6.0\jre\lib\rt.jar]
117 [Loaded java.lang.reflect.ReflectPermission from C:\jdk1.6.0\jre\lib\rt.jar]
118 [Loaded java.security.PrivilegedAction from C:\jdk1.6.0\jre\lib\rt.jar]
119 [Loaded sun.reflect.ReflectionFactory$GetReflectionFactoryAction from C:\jdk1.6.0\jre\lib\rt.jar]
120 [Loaded java.util.Vector from C:\jdk1.6.0\jre\lib\rt.jar]
121 [Loaded java.util.Stack from C:\jdk1.6.0\jre\lib\rt.jar]
122 [Loaded sun.reflect.ReflectionFactory from C:\jdk1.6.0\jre\lib\rt.jar]
123 [Loaded java.lang.ref.Reference$Lock from C:\jdk1.6.0\jre\lib\rt.jar]
124 [Loaded java.lang.ref.Reference$ReferenceHandler from C:\jdk1.6.0\jre\lib\rt.jar]
125 [Loaded java.lang.ref.Finalizer$FinalizerThread from C:\jdk1.6.0\jre\lib\rt.jar]
126 [Loaded java.util.Enumeration from C:\jdk1.6.0\jre\lib\rt.jar]
127 [Loaded java.util.Hashtable$EmptyEnumerator from C:\jdk1.6.0\jre\lib\rt.jar]
128 [Loaded java.util.Iterator from C:\jdk1.6.0\jre\lib\rt.jar]
129 [Loaded java.util.Hashtable$EmptyIterator from C:\jdk1.6.0\jre\lib\rt.jar]
130 [Loaded java.util.Hashtable$Entry from C:\jdk1.6.0\jre\lib\rt.jar]
131 [Loaded java.nio.charset.Charset from C:\jdk1.6.0\jre\lib\rt.jar]
132 [Loaded java.nio.charset.spi.CharsetProvider from C:\jdk1.6.0\jre\lib\rt.jar]
133 [Loaded sun.nio.cs.FastCharsetProvider from C:\jdk1.6.0\jre\lib\rt.jar]
134 [Loaded sun.nio.cs.StandardCharsets from C:\jdk1.6.0\jre\lib\rt.jar]
135 [Loaded sun.util.PreHashedMap from C:\jdk1.6.0\jre\lib\rt.jar]
136 [Loaded sun.nio.cs.StandardCharsets$Aliases from C:\jdk1.6.0\jre\lib\rt.jar]
137 [Loaded sun.nio.cs.StandardCharsets$Classes from C:\jdk1.6.0\jre\lib\rt.jar]
138 [Loaded sun.nio.cs.StandardCharsets$Cache from C:\jdk1.6.0\jre\lib\rt.jar]
139 [Loaded java.lang.ThreadLocal from C:\jdk1.6.0\jre\lib\rt.jar]
140 [Loaded java.util.concurrent.atomic.AtomicInteger from C:\jdk1.6.0\jre\lib\rt.jar]
141 [Loaded java.lang.Class$3 from C:\jdk1.6.0\jre\lib\rt.jar]
142 [Loaded java.lang.reflect.Modifier from C:\jdk1.6.0\jre\lib\rt.jar]
143 [Loaded sun.reflect.LangReflectAccess from C:\jdk1.6.0\jre\lib\rt.jar]
144 [Loaded java.lang.reflect.ReflectAccess from C:\jdk1.6.0\jre\lib\rt.jar]
145 [Loaded java.lang.StringValue from C:\jdk1.6.0\jre\lib\rt.jar]
146 [Loaded java.util.Arrays from C:\jdk1.6.0\jre\lib\rt.jar]
147 [Loaded java.lang.Math from C:\jdk1.6.0\jre\lib\rt.jar]
148 [Loaded java.nio.charset.Charset$3 from C:\jdk1.6.0\jre\lib\rt.jar]
149 [Opened C:\jdk1.6.0\jre\lib\charsets.jar]
150 [Loaded sun.nio.cs.AbstractCharsetProvider from C:\jdk1.6.0\jre\lib\rt.jar]
151 [Loaded sun.nio.cs.ext.ExtendedCharsets from C:\jdk1.6.0\jre\lib\charsets.jar]
152 [Loaded java.lang.Class$1 from C:\jdk1.6.0\jre\lib\rt.jar]
153 [Loaded sun.reflect.ReflectionFactory$1 from C:\jdk1.6.0\jre\lib\rt.jar]
154 [Loaded sun.reflect.NativeConstructorAccessorImpl from C:\jdk1.6.0\jre\lib\rt.jar]
155 [Loaded sun.reflect.DelegatingConstructorAccessorImpl from C:\jdk1.6.0\jre\lib\rt.jar]
156 [Loaded java.util.SortedMap from C:\jdk1.6.0\jre\lib\rt.jar]
157 [Loaded java.util.NavigableMap from C:\jdk1.6.0\jre\lib\rt.jar]
158 [Loaded java.util.TreeMap from C:\jdk1.6.0\jre\lib\rt.jar]
159 [Loaded sun.misc.ASCIICaseInsensitiveComparator from C:\jdk1.6.0\jre\lib\rt.jar]
160 [Loaded java.util.TreeMap$Entry from C:\jdk1.6.0\jre\lib\rt.jar]
161 [Loaded sun.misc.VM from C:\jdk1.6.0\jre\lib\rt.jar]
162 [Loaded sun.nio.cs.ext.GBK from C:\jdk1.6.0\jre\lib\charsets.jar]
163 [Loaded java.lang.StringCoding from C:\jdk1.6.0\jre\lib\rt.jar]
164 [Loaded java.lang.ThreadLocal$ThreadLocalMap from C:\jdk1.6.0\jre\lib\rt.jar]
165 [Loaded java.lang.ThreadLocal$ThreadLocalMap$Entry from C:\jdk1.6.0\jre\lib\rt.jar]
166 [Loaded java.lang.StringCoding$StringDecoder from C:\jdk1.6.0\jre\lib\rt.jar]
167 [Loaded java.nio.charset.CharsetDecoder from C:\jdk1.6.0\jre\lib\rt.jar]
168 [Loaded sun.nio.cs.ext.DoubleByteDecoder from C:\jdk1.6.0\jre\lib\charsets.jar]
169 [Loaded sun.nio.cs.ext.GBK$Decoder from C:\jdk1.6.0\jre\lib\charsets.jar]
170 [Loaded java.nio.charset.CodingErrorAction from C:\jdk1.6.0\jre\lib\rt.jar]
171 [Loaded java.nio.ByteBuffer from C:\jdk1.6.0\jre\lib\rt.jar]
172 [Loaded java.nio.HeapByteBuffer from C:\jdk1.6.0\jre\lib\rt.jar]
173 [Loaded java.nio.Bits from C:\jdk1.6.0\jre\lib\rt.jar]
174 [Loaded sun.misc.JavaNioAccess from C:\jdk1.6.0\jre\lib\rt.jar]
175 [Loaded java.nio.Bits$1 from C:\jdk1.6.0\jre\lib\rt.jar]
176 [Loaded java.nio.ByteOrder from C:\jdk1.6.0\jre\lib\rt.jar]
177 [Loaded java.lang.Readable from C:\jdk1.6.0\jre\lib\rt.jar]
178 [Loaded java.nio.CharBuffer from C:\jdk1.6.0\jre\lib\rt.jar]
179 [Loaded java.nio.HeapCharBuffer from C:\jdk1.6.0\jre\lib\rt.jar]
180 [Loaded java.nio.charset.CoderResult from C:\jdk1.6.0\jre\lib\rt.jar]
181 [Loaded java.nio.charset.CoderResult$Cache from C:\jdk1.6.0\jre\lib\rt.jar]
182 [Loaded java.nio.charset.CoderResult$1 from C:\jdk1.6.0\jre\lib\rt.jar]
183 [Loaded java.nio.charset.CoderResult$2 from C:\jdk1.6.0\jre\lib\rt.jar]
184 [Loaded sun.misc.Version from C:\jdk1.6.0\jre\lib\rt.jar]
185 [Loaded sun.misc.JavaLangAccess from C:\jdk1.6.0\jre\lib\rt.jar]
186 [Loaded java.lang.System$2 from C:\jdk1.6.0\jre\lib\rt.jar]
187 [Loaded java.lang.Runtime from C:\jdk1.6.0\jre\lib\rt.jar]
188 [Loaded java.io.File from C:\jdk1.6.0\jre\lib\rt.jar]
189 [Loaded java.io.FileSystem from C:\jdk1.6.0\jre\lib\rt.jar]
190 [Loaded java.io.Win32FileSystem from C:\jdk1.6.0\jre\lib\rt.jar]
191 [Loaded java.io.WinNTFileSystem from C:\jdk1.6.0\jre\lib\rt.jar]
192 [Loaded java.io.ExpiringCache from C:\jdk1.6.0\jre\lib\rt.jar]
193 [Loaded java.util.LinkedHashMap from C:\jdk1.6.0\jre\lib\rt.jar]
194 [Loaded java.io.ExpiringCache$1 from C:\jdk1.6.0\jre\lib\rt.jar]
195 [Loaded java.util.LinkedHashMap$Entry from C:\jdk1.6.0\jre\lib\rt.jar]
196 [Loaded sun.security.action.GetPropertyAction from C:\jdk1.6.0\jre\lib\rt.jar]
197 [Loaded sun.jkernel.DownloadManager from C:\jdk1.6.0\jre\lib\rt.jar]
198 [Loaded sun.jkernel.DownloadManager$1 from C:\jdk1.6.0\jre\lib\rt.jar]
199 [Loaded sun.jkernel.DownloadManager$2 from C:\jdk1.6.0\jre\lib\rt.jar]
200 [Loaded java.lang.ClassLoader$3 from C:\jdk1.6.0\jre\lib\rt.jar]
201 [Loaded java.io.ExpiringCache$Entry from C:\jdk1.6.0\jre\lib\rt.jar]
202 [Loaded java.lang.ClassLoader$NativeLibrary from C:\jdk1.6.0\jre\lib\rt.jar]
203 [Loaded java.lang.StringCoding$StringEncoder from C:\jdk1.6.0\jre\lib\rt.jar]
204 [Loaded java.nio.charset.CharsetEncoder from C:\jdk1.6.0\jre\lib\rt.jar]
205 [Loaded sun.nio.cs.ext.DoubleByteEncoder from C:\jdk1.6.0\jre\lib\charsets.jar]
206 [Loaded sun.nio.cs.ext.GBK$Encoder from C:\jdk1.6.0\jre\lib\charsets.jar]
207 [Loaded sun.nio.cs.Surrogate$Parser from C:\jdk1.6.0\jre\lib\rt.jar]
208 [Loaded sun.nio.cs.Surrogate from C:\jdk1.6.0\jre\lib\rt.jar]
209 [Loaded java.io.Closeable from C:\jdk1.6.0\jre\lib\rt.jar]
210 [Loaded java.io.InputStream from C:\jdk1.6.0\jre\lib\rt.jar]
211 [Loaded java.io.FileInputStream from C:\jdk1.6.0\jre\lib\rt.jar]
212 [Loaded java.io.FileDescriptor from C:\jdk1.6.0\jre\lib\rt.jar]
213 [Loaded java.io.Flushable from C:\jdk1.6.0\jre\lib\rt.jar]
214 [Loaded java.io.OutputStream from C:\jdk1.6.0\jre\lib\rt.jar]
215 [Loaded java.io.FileOutputStream from C:\jdk1.6.0\jre\lib\rt.jar]
216 [Loaded java.io.FilterInputStream from C:\jdk1.6.0\jre\lib\rt.jar]
217 [Loaded java.io.BufferedInputStream from C:\jdk1.6.0\jre\lib\rt.jar]
218 [Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater from C:\jdk1.6.0\jre\lib\rt.jar]
219 [Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl from C:\jdk1.6.0\jre\lib\rt.jar]
220 [Loaded sun.reflect.misc.ReflectUtil from C:\jdk1.6.0\jre\lib\rt.jar]
221 [Loaded java.io.FilterOutputStream from C:\jdk1.6.0\jre\lib\rt.jar]
222 [Loaded java.io.PrintStream from C:\jdk1.6.0\jre\lib\rt.jar]
223 [Loaded java.io.BufferedOutputStream from C:\jdk1.6.0\jre\lib\rt.jar]
224 [Loaded java.io.Writer from C:\jdk1.6.0\jre\lib\rt.jar]
225 [Loaded java.io.OutputStreamWriter from C:\jdk1.6.0\jre\lib\rt.jar]
226 [Loaded sun.nio.cs.StreamEncoder from C:\jdk1.6.0\jre\lib\rt.jar]
227 [Loaded java.io.BufferedWriter from C:\jdk1.6.0\jre\lib\rt.jar]
228 [Loaded java.lang.Terminator from C:\jdk1.6.0\jre\lib\rt.jar]
229 [Loaded sun.misc.SignalHandler from C:\jdk1.6.0\jre\lib\rt.jar]
230 [Loaded java.lang.Terminator$1 from C:\jdk1.6.0\jre\lib\rt.jar]
231 [Loaded sun.misc.Signal from C:\jdk1.6.0\jre\lib\rt.jar]
232 [Loaded sun.misc.NativeSignalHandler from C:\jdk1.6.0\jre\lib\rt.jar]
233 [Loaded sun.misc.OSEnvironment from C:\jdk1.6.0\jre\lib\rt.jar]
234 [Loaded sun.io.Win32ErrorMode from C:\jdk1.6.0\jre\lib\rt.jar]
235 [Loaded java.lang.Compiler from C:\jdk1.6.0\jre\lib\rt.jar]
236 [Loaded java.lang.Compiler$1 from C:\jdk1.6.0\jre\lib\rt.jar]
237 [Loaded sun.misc.Launcher from C:\jdk1.6.0\jre\lib\rt.jar]
238 [Loaded java.net.URLStreamHandlerFactory from C:\jdk1.6.0\jre\lib\rt.jar]
239 [Loaded sun.misc.Launcher$Factory from C:\jdk1.6.0\jre\lib\rt.jar]
240 [Loaded java.security.SecureClassLoader from C:\jdk1.6.0\jre\lib\rt.jar]
241 [Loaded java.net.URLClassLoader from C:\jdk1.6.0\jre\lib\rt.jar]
242 [Loaded sun.misc.Launcher$ExtClassLoader from C:\jdk1.6.0\jre\lib\rt.jar]
243 [Loaded sun.security.util.Debug from C:\jdk1.6.0\jre\lib\rt.jar]
244 [Loaded java.lang.Package from C:\jdk1.6.0\jre\lib\rt.jar]
245 [Loaded java.net.URL from C:\jdk1.6.0\jre\lib\rt.jar]
246 [Loaded java.security.CodeSource from C:\jdk1.6.0\jre\lib\rt.jar]
247 [Loaded java.lang.Void from C:\jdk1.6.0\jre\lib\rt.jar]
248 [Loaded java.security.cert.Certificate from C:\jdk1.6.0\jre\lib\rt.jar]
249 [Loaded java.lang.ClassFormatError from C:\jdk1.6.0\jre\lib\rt.jar]
250 [Loaded java.lang.IllegalArgumentException from C:\jdk1.6.0\jre\lib\rt.jar]
251 [Loaded java.io.IOException from C:\jdk1.6.0\jre\lib\rt.jar]
252 [Loaded sun.misc.URLClassPath from C:\jdk1.6.0\jre\lib\rt.jar]
253 [Loaded java.lang.AssertionStatusDirectives from C:\jdk1.6.0\jre\lib\rt.jar]
254 [Loaded sun.misc.JavaNetAccess from C:\jdk1.6.0\jre\lib\rt.jar]
255 [Loaded java.net.URLClassLoader$7 from C:\jdk1.6.0\jre\lib\rt.jar]
256 [Loaded java.security.PermissionCollection from C:\jdk1.6.0\jre\lib\rt.jar]
257 [Loaded java.util.StringTokenizer from C:\jdk1.6.0\jre\lib\rt.jar]
258 [Loaded java.security.PrivilegedExceptionAction from C:\jdk1.6.0\jre\lib\rt.jar]
259 [Loaded sun.misc.Launcher$ExtClassLoader$1 from C:\jdk1.6.0\jre\lib\rt.jar]
260 [Loaded sun.misc.MetaIndex from C:\jdk1.6.0\jre\lib\rt.jar]
261 [Loaded java.io.Reader from C:\jdk1.6.0\jre\lib\rt.jar]
262 [Loaded java.io.BufferedReader from C:\jdk1.6.0\jre\lib\rt.jar]
263 [Loaded java.io.InputStreamReader from C:\jdk1.6.0\jre\lib\rt.jar]
264 [Loaded java.io.FileReader from C:\jdk1.6.0\jre\lib\rt.jar]
265 [Loaded sun.nio.cs.StreamDecoder from C:\jdk1.6.0\jre\lib\rt.jar]
266 [Loaded java.util.ArrayList from C:\jdk1.6.0\jre\lib\rt.jar]
267 [Loaded java.lang.reflect.Array from C:\jdk1.6.0\jre\lib\rt.jar]
268 [Loaded java.util.Locale from C:\jdk1.6.0\jre\lib\rt.jar]
269 [Loaded java.util.concurrent.ConcurrentMap from C:\jdk1.6.0\jre\lib\rt.jar]
270 [Loaded java.util.concurrent.ConcurrentHashMap from C:\jdk1.6.0\jre\lib\rt.jar]
271 [Loaded java.util.concurrent.locks.Lock from C:\jdk1.6.0\jre\lib\rt.jar]
272 [Loaded java.util.concurrent.locks.ReentrantLock from C:\jdk1.6.0\jre\lib\rt.jar]
273 [Loaded java.util.concurrent.ConcurrentHashMap$Segment from C:\jdk1.6.0\jre\lib\rt.jar]
274 [Loaded java.util.concurrent.locks.AbstractOwnableSynchronizer from C:\jdk1.6.0\jre\lib\rt.jar]
275 [Loaded java.util.concurrent.locks.AbstractQueuedSynchronizer from C:\jdk1.6.0\jre\lib\rt.jar]
276 [Loaded java.util.concurrent.locks.ReentrantLock$Sync from C:\jdk1.6.0\jre\lib\rt.jar]
277 [Loaded java.util.concurrent.locks.ReentrantLock$NonfairSync from C:\jdk1.6.0\jre\lib\rt.jar]
278 [Loaded java.util.concurrent.locks.AbstractQueuedSynchronizer$Node from C:\jdk1.6.0\jre\lib\rt.jar]
279 [Loaded java.util.concurrent.ConcurrentHashMap$HashEntry from C:\jdk1.6.0\jre\lib\rt.jar]
280 [Loaded java.lang.CharacterDataLatin1 from C:\jdk1.6.0\jre\lib\rt.jar]
281 [Loaded java.io.ObjectStreamClass from C:\jdk1.6.0\jre\lib\rt.jar]
282 [Loaded sun.net.www.ParseUtil from C:\jdk1.6.0\jre\lib\rt.jar]
283 [Loaded java.util.BitSet from C:\jdk1.6.0\jre\lib\rt.jar]
284 [Loaded java.net.Parts from C:\jdk1.6.0\jre\lib\rt.jar]
285 [Loaded java.net.URLStreamHandler from C:\jdk1.6.0\jre\lib\rt.jar]
286 [Loaded sun.net.www.protocol.file.Handler from C:\jdk1.6.0\jre\lib\rt.jar]
287 [Loaded java.util.HashSet from C:\jdk1.6.0\jre\lib\rt.jar]
288 [Loaded sun.net.www.protocol.jar.Handler from C:\jdk1.6.0\jre\lib\rt.jar]
289 [Loaded sun.misc.Launcher$AppClassLoader from C:\jdk1.6.0\jre\lib\rt.jar]
290 [Loaded sun.misc.Launcher$AppClassLoader$1 from C:\jdk1.6.0\jre\lib\rt.jar]
291 [Loaded java.lang.SystemClassLoaderAction from C:\jdk1.6.0\jre\lib\rt.jar]
292 [Loaded java.net.URLClassLoader$1 from C:\jdk1.6.0\jre\lib\rt.jar]
293 [Loaded sun.net.util.URLUtil from C:\jdk1.6.0\jre\lib\rt.jar]
294 [Loaded sun.misc.URLClassPath$3 from C:\jdk1.6.0\jre\lib\rt.jar]
295 [Loaded sun.misc.URLClassPath$Loader from C:\jdk1.6.0\jre\lib\rt.jar]
296 [Loaded sun.misc.URLClassPath$JarLoader from C:\jdk1.6.0\jre\lib\rt.jar]
297 [Loaded sun.misc.URLClassPath$JarLoader$1 from C:\jdk1.6.0\jre\lib\rt.jar]
298 [Loaded sun.misc.FileURLMapper from C:\jdk1.6.0\jre\lib\rt.jar]
299 [Loaded java.util.zip.ZipConstants from C:\jdk1.6.0\jre\lib\rt.jar]
300 [Loaded java.util.zip.ZipFile from C:\jdk1.6.0\jre\lib\rt.jar]
301 [Loaded java.util.jar.JarFile from C:\jdk1.6.0\jre\lib\rt.jar]
302 [Loaded sun.misc.JavaUtilJarAccess from C:\jdk1.6.0\jre\lib\rt.jar]
303 [Loaded java.util.jar.JavaUtilJarAccessImpl from C:\jdk1.6.0\jre\lib\rt.jar]
304 [Loaded sun.misc.JarIndex from C:\jdk1.6.0\jre\lib\rt.jar]
305 [Loaded sun.misc.ExtensionDependency from C:\jdk1.6.0\jre\lib\rt.jar]
306 [Loaded java.util.zip.ZipEntry from C:\jdk1.6.0\jre\lib\rt.jar]
307 [Loaded java.util.jar.JarEntry from C:\jdk1.6.0\jre\lib\rt.jar]
308 [Loaded java.util.jar.JarFile$JarFileEntry from C:\jdk1.6.0\jre\lib\rt.jar]
309 [Loaded java.io.DataInput from C:\jdk1.6.0\jre\lib\rt.jar]
310 [Loaded java.io.DataInputStream from C:\jdk1.6.0\jre\lib\rt.jar]
311 [Loaded java.util.zip.ZipFile$ZipFileInputStream from C:\jdk1.6.0\jre\lib\rt.jar]
312 [Loaded java.util.zip.InflaterInputStream from C:\jdk1.6.0\jre\lib\rt.jar]
313 [Loaded java.util.zip.ZipFile$1 from C:\jdk1.6.0\jre\lib\rt.jar]
314 [Loaded java.util.zip.Inflater from C:\jdk1.6.0\jre\lib\rt.jar]
315 [Loaded java.util.zip.ZStreamRef from C:\jdk1.6.0\jre\lib\rt.jar]
316 [Loaded java.security.PrivilegedActionException from C:\jdk1.6.0\jre\lib\rt.jar]
317 [Loaded sun.misc.URLClassPath$FileLoader from C:\jdk1.6.0\jre\lib\rt.jar]
318 [Loaded sun.misc.Resource from C:\jdk1.6.0\jre\lib\rt.jar]
319 [Loaded sun.misc.URLClassPath$FileLoader$1 from C:\jdk1.6.0\jre\lib\rt.jar]
320 [Loaded sun.nio.ByteBuffered from C:\jdk1.6.0\jre\lib\rt.jar]
321 [Loaded java.security.Permissions from C:\jdk1.6.0\jre\lib\rt.jar]
322 [Loaded java.net.URLConnection from C:\jdk1.6.0\jre\lib\rt.jar]
323 [Loaded sun.net.www.URLConnection from C:\jdk1.6.0\jre\lib\rt.jar]
324 [Loaded sun.net.www.protocol.file.FileURLConnection from C:\jdk1.6.0\jre\lib\rt.jar]
325 [Loaded java.net.ContentHandler from C:\jdk1.6.0\jre\lib\rt.jar]
326 [Loaded java.net.UnknownContentHandler from C:\jdk1.6.0\jre\lib\rt.jar]
327 [Loaded sun.net.www.MessageHeader from C:\jdk1.6.0\jre\lib\rt.jar]
328 [Loaded java.io.FilePermission from C:\jdk1.6.0\jre\lib\rt.jar]
329 [Loaded java.io.FilePermission$1 from C:\jdk1.6.0\jre\lib\rt.jar]
330 [Loaded java.security.Policy from C:\jdk1.6.0\jre\lib\rt.jar]
331 [Loaded sun.security.provider.PolicyFile from C:\jdk1.6.0\jre\lib\rt.jar]
332 [Loaded java.security.Policy$UnsupportedEmptyCollection from C:\jdk1.6.0\jre\lib\rt.jar]
333 [Loaded java.io.FilePermissionCollection from C:\jdk1.6.0\jre\lib\rt.jar]
334 [Loaded java.security.AllPermission from C:\jdk1.6.0\jre\lib\rt.jar]
335 [Loaded java.security.UnresolvedPermission from C:\jdk1.6.0\jre\lib\rt.jar]
336 [Loaded java.security.BasicPermissionCollection from C:\jdk1.6.0\jre\lib\rt.jar]
337 [Loaded sun.misc.JavaSecurityProtectionDomainAccess from C:\jdk1.6.0\jre\lib\rt.jar]
338 [Loaded java.security.ProtectionDomain$2 from C:\jdk1.6.0\jre\lib\rt.jar]
339 [Loaded java.security.ProtectionDomain$Key from C:\jdk1.6.0\jre\lib\rt.jar]
340 [Loaded java.security.Principal from C:\jdk1.6.0\jre\lib\rt.jar]
341 [Loaded Example from file:/D:/Users/wuxiong.wx/workspace/Test/LoadClass/Example/bin/]
342 
343 准备实例化Cat
344 [Loaded Animal from file:/D:/Users/wuxiong.wx/workspace/Test/LoadClass/Example/bin/]
345 [Loaded Cat from file:/D:/Users/wuxiong.wx/workspace/Test/LoadClass/Example/bin/]
346 I am an animal
347 I am a cat
348 Cat实例化完成
349 
350 准备加载MyTest类
351 第一次调用Class.forname()
352 [Loaded MyTest from file:/D:/Users/wuxiong.wx/workspace/Test/LoadClass/Example/bin/]
353 第二次调用Class.forname()
354 
355 准备加载MyTest2类
356 [Loaded MyTest2 from file:/D:/Users/wuxiong.wx/workspace/Test/LoadClass/Example/bin/]
357 MyTest2的静态部分初始化
358 
359 准备加载MyTest3类
360 [Loaded MyTest3 from file:/D:/Users/wuxiong.wx/workspace/Test/LoadClass/Example/bin/]
361 第二次调用ClassLoader.loadClass()
362 
363 程序结束
364 
365 [Loaded java.lang.Shutdown from C:\jdk1.6.0\jre\lib\rt.jar]
366 [Loaded java.lang.Shutdown$Lock from C:\jdk1.6.0\jre\lib\rt.jar]
View Code

相关文章: