面试官问:“说一下java的反射机制吧”。

@阿证1024 @阿证1024     2022-11-12     381

关键词:

1. 简介

Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。

透过反射的简介我们可以了解到反射的一个比较重要的应用场景: 在实际开发中,我们往往不会把项目中所有用到的类都一下子加载到内存中。有些类,尤其是第三方类我们往往会在用到时才加载到内存中去,可是Java程序一般会在开始运行时就会把用到类加载到内存中,所以此时就需要用到反射。

2. Java JVM


在java程序开始执行时会把类的字节码文件(类信息)加载到方法区,此时就会产生一个这个类对应的Class对象(类的类型对象,每个类只有一个),当我们在程序中通过new A()方式创建对象时,就会访问到内存中A这个类的class对象,通过A的class对象创建A类对象。

3. 对答面试官

加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。

面试官问:“说一下java的反射机制吧”。

...类的class对象,通过A的class对象创建A类对象。3.对答面试官加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通... 查看详情

大厂面试官问你meta-inf/spring.factories要怎么实现自动扫描自动装配?

大厂面试官问你META-INF/spring.factories要怎么实现自动扫描、自动装配?很多程序员想面试进互联网大厂,但是也有很多人不知道进入大厂需要具备哪些条件,以及面试官会问哪些问题,这里今天就给大家分享一下,如果大厂面试... 查看详情

面试官问我注解的使用有没有踩过坑(代码片段)

...很久前,在我还是青铜的时候(现在依旧是青铜段位)去面试,面试官问我怎么获取类,方法上的注解。当时的我也算用过注解,顺口就回答了,用isAnnotationPresent判断是否加了注解,getAnnotation获取注解对象,然后获取注解中的... 查看详情

面试官问我map接口,我

面试官:今天来讲讲Map吧,你对Map了解多少?就讲JDK1.8就好咯候选者:Map在Java里边是一个接口,常见的实现类有HashMap、LinkedHashMap、TreeMap和ConcurrentHashMap候选者:在Java里边,哈希表的结构是数组+链... 查看详情

面试官问我list接口,我

面试官:要不今天来讲讲Java的List吧,你对List了解多少?候选者:List在Java里边是一个接口,常见的实现类有ArrayList和LinkedList,在开发中用得最多的是ArrayList候选者:ArrayList的底层数据结构是数组,... 查看详情

面试的时候面试官问如何看待加班,该怎么回答?

由于之前我们有合作关系,去了以后聊的很顺利,本来都要敲定了,我多嘴问了一句,“咱们这儿休息时间是怎样?”那个女老板的回答让我十分震惊。“首先,9点上班,7点下班,但是每天我们都工作到最少九点,一般都是十... 查看详情

面试官问:如何优化高并发相关的业务,你能回答的上来吗?

各位小伙伴面试的时候,经常会碰到面试官问一些高并发相关的业务场景,这篇文章帮助进入开发行业不久的程序猿了解如何简单实现抢购相关的业务流程,帮助大家梳理下思路。下面以CRMEB开源商城为例,了解下秒杀活动的创... 查看详情

面试官问我mysql索引,我真的是

面试官:我看你简历上写了MySQL,对MySQLInnoDB引擎的索引了解吗?候选者:嗯啊,使用索引可以加快查询速度,其实上就是将无序的数据变成有序(有序就能加快检索速度)候选者:在InnoDB引擎... 查看详情

面试官问我mysql调优,我真的是

面试官:要不你来讲讲你们对MySQL是怎么调优的?候选者:哇,这命题很大阿…我认为,对于开发者而言,对MySQL的调优重点一般是在「开发规范」、「数据库索引」又或者说解决线上慢查询上。候选者ÿ... 查看详情

面试官问spring,一个问题就趴下了?16个经典面试题

1.什么是Spring?有哪些优点?Spring是个Java企业级应用的开源开发框架,主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用,目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的... 查看详情

去百度面试,想知道面试官问哪些问题,看这篇文章

https://mp.weixin.qq.com/s?__biz=MzI0NjM3NjI1NQ==&mid=2247487861&idx=1&sn=34316976cdb0aa2e4df3aa6f1f5cc31d&chksm=e9416325de36ea33200d9944fff37381de11c8d4dc8aeb0cc4b83c6201e56b8ee2bc8c2 查看详情

java面试题⭐多线程篇⭐(万字总结,带答案,面试官问烂,跳槽必备,建议收藏)(代码片段)

个人主页:Java李小立后面会持续更新java面试专栏,请持续关注如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连❤️❤️❤️)面试宝典列表(持续更新):序号内容链接地址1Java基础篇(点击跳转)ja... 查看详情

java面试题⭐多线程篇⭐(万字总结,带答案,面试官问烂,跳槽必备,建议收藏)(代码片段)

个人主页:Java李小立后面会持续更新java面试专栏,请持续关注如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连❤️❤️❤️)面试宝典列表(持续更新):序号内容链接地址1Java基础篇(点击跳转)ja... 查看详情

js面试题面试官问我:遍历一个数组用for和foreach哪个更快?(代码片段)

还在担心面试不通过吗?给大家推荐一个超级好用的刷面试题神器:牛客网,里面涵盖了各个领域的面试题库,还有大厂真题哦!赶快悄悄的努力起来吧,不苒在这里衷心祝愿各位大佬都能顺利通过面试。... 查看详情

面试官问你jvm,你知道加分项在哪吗?

引言在面试别人的过程中,​​JVM内存模型​​​几乎必问,虽然有人说问这些就是​​面试造航母,工作拧螺丝​​。如果你想当一名CRUD码农,你可以选择不用了解这些。在JVM内存模型的问答中,有些人能说出对象是在堆上... 查看详情

面试官问我:如何减少客户对交付成果的质疑

摘要:对标市面主流产品,更新差异特性,让产品跟随市场变化。本文分享自华为云社区《项目上线后,如何减少客户对交付成果的质疑》,原文作者:敏捷的小智。背景背景描述早些年前,软件行业刚刚兴起,当时的软件产品... 查看详情

面试官问:为什么java线程没有running状态?我懵了

...书",获取后台回复“k8s”,可领取k8s资料title:面试官问:为什么Java线程没有Running状态?我懵了Java虚拟机层面所暴露给我们的状态,与操作系统底层的线程状态是两个不同层面的事。具体而言,这里说... 查看详情

面试官问我jvm内存结构,我真的是

面试官:今天来聊聊JVM的内存结构吧?候选者:嗯,好的候选者:前几次面试的时候也提到了:class文件会被类加载器装载至JVM中,并且JVM会负责程序「运行时」的「内存管理」候选者:而JVM的内存... 查看详情