隐式加载: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()方法动态加载,不会执行初始化块。
类加载的三种方式?
猜你喜欢
转载自blog.csdn.net/weixin_41980692/article/details/105693069
今日推荐
周排行