• 技术文章 >java >java基础

    java反射机制原理详解

    小妮浅浅小妮浅浅2021-04-19 09:53:13原创8279

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    1、原理分析

    反射的实现利用Class类,在Java中万物都是对象,类也不例外,类本身也是对象,每个类别都是Class类别的对象。

    一个类别加载后,在方法区域创建代表该类别的Class类别的对象,该对象保存该类别的所有信息,作为访问该类别的入口。

    因此,在运行过程中,如果你想通过发射获取某种类型的信息,首先JVM检查该类型是否已经加载,如果没有,首先加载,然后通过调用相应的Class对象获取该类型的信息。

    2、反射过程

    准备阶段:编译期间装载所有类别,将各类元信息保存在Class类别对象中,各类对应Class对象。

    获得Class对象:调用x.class/x.getClass()/Class.forName()获得x的Class对象clz(这些方法的基础是native方法,在JVM的基础上制作,与JVM的基础有关,首先不进行探索)。

    实际反射操作:通过clz对象获得Field/Method/Constructor对象进一步操作。

    在对于java反射的应用上,我们已经初步的有所使用。但想要对于反射有着进一步的理解,我们还需要对其原理有着一定的深入探究,本篇就反射的原理和过程进行说明。

    以上就是java反射机制原理详解,大家可以先就基本的概念进行理解,然后结合实例的题目在课后进行练习。更多Java学习指路:Java基础

    专题推荐:java 反射
    上一篇:java随机打乱数组顺序 下一篇:java条件运算符是什么

    相关文章推荐

    • Python中的反射怎么用?• java反射是什么• java反射机制的分析• Java中反射机制是什么?• java反射方式创建实例• java反射原理• java反射如何读写字段?• java反射生成对象的方法• java反射如何实例化对象• java反射怎样调用方法• java反射三种方法• java反射机制原理详解

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网