类加载的三种方式?

隐式加载:new
显式加载:loadClass与forName。
(两者区别是forName是得到class的时候已经完成初始化,loadClass是得到class的时候还没有连接,Spirng的延迟加载是使用loadClass)
-----------------------------
(1)通过命令行启动应用时由JVM初始化加载含有main()方法的主类。
(2)通过Class.forName()方法动态加载,会默认执行初始化块(static{}),但是Class.forName(name,initialize,loader)中的initialze可指定是否要执行初始化块。
(3)通过ClassLoader.loadClass()方法动态加载,不会执行初始化块。

发布了17 篇原创文章 · 获赞 0 · 访问量 1036

猜你喜欢

转载自blog.csdn.net/weixin_41980692/article/details/105693069