当前位置:首页 > 编程技术 > 正文内容

【说站】java反射机制原理详解

yc8881年前 (2022-11-12)编程技术188

java反射机制原理详解

本教程操作环境: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基础

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/9834.html

标签: java
分享给朋友:

“【说站】java反射机制原理详解” 的相关文章

【说站】laravel实现自定义404页面并给页面传值

【说站】laravel实现自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】Java从resources读取文件内容的方法有哪些

【说站】Java从resources读取文件内容的方法有哪些

本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构├── main│ ├── java│ │ └── ...

【说站】linux中redis如何以redis用户重启?

【说站】linux中redis如何以redis用户重启?

通过上图我们可以看到,目前状态是已经以 redis 用户启动着,我想修改下 redis 的密码,然后怎么以 redis 用户重启呢?redis 是 nologin 用户,不能通过 su redis 切...

【说站】使用systemctl配置dnspod-shell实现ddns

【说站】使用systemctl配置dnspod-shell实现ddns

这个是毛子路由器上用的脚本,由于碳云的nat服务器公网IP不断的变,因此只好通过ddns来稳定连接nat服务器了。顺便水一篇文章,大家新年快乐。使用前需要将域名添加到 DNSPod 中,并添加一条A记...

【说站】Python获取最新疫情数据实现动态地图实时展示各地情况

【说站】Python获取最新疫情数据实现动态地图实时展示各地情况

疫情降临转眼已经第三年了,时间过得真快,愿疫情早点结束,世界不再多灾多难。最近疫情稍微好转一些了,所以咱们获取一下最新的疫情数据,做个可视化地图看看。效果展示获取到的数据咱们保存到表格可视化地图颜色是...