反射知识总结
欲了解反射机制,首先要了解的
第一个知识点:是什么是类加载器ClassLoader以及类加载器的机制?
类加载器是负责加载类的对象。ClassLoader 类是一个抽象类。
类加载器的机制:
1、并非一次性加载,
2、需要的时候加载(运行期间动态加载)
3、Static语句在加载后仅执行一次
4、dynamic每次new新的对象都会被执行
第二个知识点:JDK ClassLoader的层次关系(不是继承)
ClassLoader在Load Class的时候首先是找上一层的Loader是不是已经load过了,如果已经Load过了,就不再Loader了!这也是Java的一个安全性的体现,例如:String.class在属于核心包中,在服务器启动的时候就已经被加载了,所以你自己写的String.class永远没有机会被执行。
层次关系:bootstrap class loader --> ext class loader --> app class loader。
第三个知识点:了解并掌握java.lang.Class
1、代表了Load到内存中Class对象
2、Object的getClass()可以拿到该对象(等同于类名.class)
3、Class的getClassLoader()可以拿到装载这个class的ClassLoader3
上面这些知识点仅仅是兄弟我的一些总结,但个人认为这些都是我们必须要掌握的,希望大家一起提高技术。。。