1、class.forName()除了将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的static块(给静态变量赋值的静态方法也会被执行)。
2、classLoader只将.class文件加载到jvm中,不会执行static中的内容,只有在newInstance才会去执行static块。
3、Class.forName(name, initialize, loader)带参函数也可控制是否加载static块。并且只有调用了newInstance()方法采用调用构造函数,创建类的对象
转载自https://blog.csdn.net/qq_27093465/article/details/52262340,感谢整理和分享。