反射弧思维导图(3张精选版)

author: 脑图123 阅读:59 点赞:0

3张反射弧思维导图合集,内容涵盖反射的概念、类的加载、反射的应用等3个知识点,每张思维导图都非常清晰,每张图片均精选版。

第1张,反射弧思维导图可打印

反射弧思维导图-1

在线编辑预览

第2张,反射弧思维导图值得收藏

反射弧思维导图-2

在线编辑预览

第3张,反射弧思维导图可下载

反射弧思维导图-3

在线编辑预览

第4张,反射弧思维导图高清晰可打印

反射弧思维导图-4

在线编辑预览

思维导图知识点说明:

  1. 反射的概念:
  2. 简介:1.Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。2.加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。通常的方式:引入需要的“包类”名称---->通过“new”实例化---->获得实例化对象 反射的方式:实例化对象---->getClass()方法---->得到完整的“包类”名称 框架 = 注解 + 反射 + 设计模式
  3. 反射机制提供的功能:在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的成员变量和方法 在运行时获取泛型信息 在运行时调用任意一个对象的成员变量和方法 在运行时处理注解 生成
  4. 相关的API:java.lang.Class:反射的源头 java.lang.reflect.Method java.lang.reflect.Field java.lang.reflect.Constructor
  5. 简述:对象使用反射后可以得到的信息:某个类的属性、方法和构造器、某个类到底实现了哪些接口。对于每个类而言,JRE都为其保留一个不变的Class类型的对象。一个Class对象包含了特定某个结构( class/intece/enum/annotation/primitive type/void/[])的有关信息。Class本身也是一个类 Class对象只能由系统建立对象 一个加载的类在JVM中只会有一个Class实例 一个Class对象对应的是一个加载到JVM中的一个.class文件 每个类的实例都会记得自己是由哪个Class实例所生成 通过Class可以完整地得到一个类中的所有被加载的结构 Class类是Reflection的根源,针对任何你想动态加载、运行的类,唯有先获得相应的Class对象
  6. 获取Class实例的几种方式:1)已知具体的类,通过类的class属性获取,该方法最为安全可靠,程序性能最高 实例:Class clazz = String.class; 2)已知某个类的实例,调用该实例的getclass()方法获取Class对象 实例:Class clazz=person.getclass(); 3)已知一个类的全类名,且该类在类路径下,可通过Class类的静态方法forName()获取, 可能抛出 ClassNotFoundException(比较常用) 实例:Class clazz = Class.forName(String classPath) 4)通过类加载器 ClassLoader cl = this.getclass().getClassLoader(); Class clazz = cl.loadClass("类的全类名");
  7. 创建类的对象的方式:方式new + 构造器 方式要创建Xxx类的对象,可以考虑:Xxx、Xxxs、XxxFactory、XxxBuilder类中查看是否有静态方法的存在。可以调用其静态方法,创建Xxx对象。方式通过反射
  8. Class实例可以代表的结构:(1)class:外部类,成员(成员内部类,静态内部类),局部内部类,匿名内部类 (2)intece:接口 (3)[]:数组 (4)enum:枚举 (5)annotation:注解@intece (6)primitive type:基本数据类型 (7)void 在Java中万事万物皆对象
  9. 类的加载:
  10. 加载过程:b
  11. 类的加载器的作用:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口。类缓存:标准的 JavaSE类加载器可以按要求查找类,但一旦某个类被加载到类加载器中,它将维持加载(缓存)一段时间。不过JVM垃圾回收机制可以回收这些Class对象
  12. 类的加载器的分类:b
  13. 使用Classloader加载src目录下的配置文件:b
  14. 反射的应用:
  15. 创建运行时类的对象:Class clazz1 = Person.class;
  16. 获取运行时类的完整结构:b
  17. 调用运行时类的指定结构:调用指定的属性

下载地址1 下载地址2 下载地址3

Tags: 导图 精选 思维

  • Comments (0