探究JDK深层类加载机制

动态加载机制使得运行过程中有其他的class被load到内存

四类classloader,级别从上到下递减
- bootstrap属于最高级,加载核心jdk的class
- extesion加载附加工具包,lib等类
- application加载自己写的类

具体到细节的classloader
- 这里说的层次不是类之间的继承,classloader有这样一个方法:getparent()
- 在加载某个类的时候,会先找自己的parent是否已经load过,如果已经加载过,就不会再加载第二个相同的class
-
加载机制很孝顺,有什么事先问爸爸
执行过程
开始反射
如何在知道类名字的前提下吧这个类new出来,并且可以动态改变
- 运行期间动态new一个对象,动态加载类,动态了解对象的内部结构,动态调用对象内部的方法
- 反射的好处:配置文件中写类名就可以,就可以动态的加载类
网友评论