关于类加载的问题

来源:6-7 loadClass和forName的区别

toms123

2020-08-25

老师您在11.16分说的。类的初始化工作留在实际使用到这个类的时候再去做,那classloader的工作是什么?是给初始化提供素材,把需要加载的比如说配置文件都加载好,等初始化工作的时候就一步到位,就是把classloader和class.formane的工作分开,不用太费时间是吗?

第二个问题class.forname的延迟加载是什么意思,延迟加载什么,等待classloader的工作完成吗

写回答

1回答

翔仔

2020-08-26

同学好,classloader和forname都是为了加载类的,也就是从class文件中加载到jvm中,生成对应于该class文件的class对象(并非class对象new出来的实例)。两者的区别是classloader只是完成加载,而forname在加载后还会执行静态代码块,两者都是延迟加载,也就是用到某个类的时候再去加载这个类。

0
0

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程