//自己看了一些视频,察觉了一些问题 现在来说明:Java中静态代码块 动态代码块加载时间
// 像JVM传递参数-verbose:class 我们可以看到classload加载class的顺序
①证明证明Java是动态加载类的 ②动态块,静态块 加载顺序
public class Hello {
public static void main(String[] args) {
// TODO Auto-generated method stub
new A(1);
new A(2);
// new A(3);
// System.out.println("^^^^" + A.class.getClassLoader());
System.out.println("***********");
new B();
// ClassLoader c = Hello.class.getClassLoader();
// while(c != null){
// System.out.println(c.getClass().getName());
// c = c.getParent();
// }
}
}
class A
{
A(int i){
System.out.println("Constructor");
}
static{
System.out.println("A");
}
{
System.out.println("Dynamic A");
}
}
class B
{}
打印结果:
[Opened F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Object from F:\JDK_1.7\lib\rt.jar]
[Loaded java.io.Serializable from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Comparable from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.CharSequence from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.String from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.reflect.Type from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Class from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Cloneable from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ClassLoader from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.System from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Throwable from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Error from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ThreadDeath from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Exception from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.RuntimeException from F:\JDK_1.7\lib\rt.jar]
[Loaded java.security.ProtectionDomain from F:\JDK_1.7\lib\rt.jar]
[Loaded java.security.AccessControlContext from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ReflectiveOperationException from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ClassNotFoundException from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.LinkageError from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.NoClassDefFoundError from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ClassCastException from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ArrayStoreException from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.VirtualMachineError from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.OutOfMemoryError from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.StackOverflowError from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.IllegalMonitorStateException from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ref.Reference from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ref.SoftReference from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ref.WeakReference from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ref.FinalReference from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ref.PhantomReference from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ref.Finalizer from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Runnable from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Thread from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.Thread$UncaughtExceptionHandler from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.ThreadGroup from F:\JDK_1.7\lib\rt.jar]
[Loaded java.util.Map from F:\JDK_1.7\lib\rt.jar]
[Loaded java.util.Dictionary from F:\JDK_1.7\lib\rt.jar]
[Loaded java.util.Hashtable from F:\JDK_1.7\lib\rt.jar]
[Loaded java.util.Properties from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.reflect.AccessibleObject from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.reflect.Member from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.reflect.Field from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.reflect.Method from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.reflect.Constructor from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.MagicAccessorImpl from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.MethodAccessor from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.MethodAccessorImpl from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.ConstructorAccessor from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.ConstructorAccessorImpl from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.DelegatingClassLoader from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.ConstantPool from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.FieldAccessor from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.FieldAccessorImpl from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.UnsafeFieldAccessorImpl from F:\JDK_1.7\lib\rt.jar]
[Loaded sun.reflect.UnsafeStaticFieldAccessorImpl from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandle from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.MemberName from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleNatives from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.BoundMethodHandle from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.AdapterMethodHandle from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.DirectMethodHandle from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.MethodType from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.MethodTypeForm from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.BootstrapMethodError from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.WrongMethodTypeException from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.CallSite from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.CountingMethodHandle from F:\JDK_1.7\lib\rt.jar]
[Loaded java.lang.invoke.ConstantCallSite fr