面试官问我反射的实现原理是什么???

面试官问我反射的实现原理是什么?

面试官:反射的实现原理是什么?
我:???

问题引出

最近在二刷周志明的《深入理解java虚拟机 第三版》。第一遍囫囵吞枣地看了一遍,第二遍才仔细学习遗漏的细节。突然看到一段之前没有认真看过的话,想起了一个月多前求职面试那会被问到的问题;如下。

问题

面试官:你说一下反射的实现原理是什么?
第1秒的我:原来是这个呀,我了解,就是可以通过。。。
第2秒的我:不对呀,这个是反射的原理呀,不是反射的实现原理呀!
第3秒的我:反射不是JAVA语言的特点吗?不是用C++写的嘛,这超纲了呀。。。
第4、5、6秒的我:假装在思考的样子等面试官给我点提示。
面试官:咳咳(咳嗽了几下),看来你是不知道,那下一道题。
我:面无表情,一脸懵逼。
内心OS表情包

备注

其实很多面试官都会问:反射怎么使用?请诠释一下反射的原理。请回答一下RPC架构是怎么使用反射的。等。而上面那个问题感觉有点超纲,我当时还去百度上稍微搜索了一下,结果没有得到想要的回答。
查询的结果图片

答案

直到在书中看到下面的这段话:
答案图片

通俗的话讲是:在JVM的层面,java的对象饮用不仅要可以直接或间接的接触到对象类型,更应该可以根据索引能得到这个对象的类型数据(对呀的Class对象)。这样的JVM设计使得JAVA可以拥有反射功能。

那以上就是全部的分享了。

参考书籍:
《深入理解java虚拟机 JVM高级特性与最佳实践 》(第3版) 周志明【著】
图书封面

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. 良爷

您每一分的打赏都是对原创的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值