package com.ioc; public class Test { public static void main(String[] args) throws ClassNotFoundException { System.out.println(Test.class.getClassLoader()); System.out.println(ClassLoader.getSystemClassLoader()); System.out.println(ClassLoader.getSystemClassLoader()); System.out.println(Thread.currentThread().getContextClassLoader()); //System.out.println(Test.class.getClassLoader().loadClass("com.ioc.Test2"));//没有初始化 //System.out.println(Class.forName("com.ioc.Test2"));//开始初始化 System.out.println(Class.forName("com.ioc.Test2", false, ClassLoader.getSystemClassLoader()));//没有初始化 } }
package com.ioc; public class Test2 { static{ System.out.println("开始初始化"); } }
深入理解ClassLoader工作机制(jdk1.8)
https://blog.csdn.net/u014634338/article/details/81434327
五分钟看懂ClassLoader
https://www.jianshu.com/p/554c138ca0f5
JVM类加载的过程(加载、验证、准备、解析、初始化)
https://blog.csdn.net/sunroyfcb/article/details/81591784