【类加载】常见面试题解析

2.2面试常见问题及解析

2.2.1 请详细叙述类加载的过程

问题剖析:当面试官提出这个问题时,主要想考察你对类加载主要流程的理解。回答这个问题不能仅背诵类加载主要几个流程,要结合自己的思考驾驭叙述。例如,JVM这么设计的目的是什么?每一步做的事情是否具有关联性?如果中间少了哪些步骤会有什么影响?此外,类加载必然会涉及到JVM内存区域中的相关内容,可以将前一章中的内容加以联系,摆脱背诵。

回答模板:首先回答类加载存在的意义,如果没有类加载会怎样?和其他语言的类加载也可以进行对比;其次交代类加载发生的时机,即哪些场景会触发类加载;随后对类加载的各个步骤进行详细叙述,并结合内存模型、Class文件结构以及线程安全等角度展开分析;最后进行收尾,交代类加载过程从理论层进行描述,引出下面对类加载器实现理解这一问题。
 

2.2.2 请谈谈你对类加载器的理解

问题剖析:当面试官提出这个问题时,主要希望你能对类加载的具体实现有所了解。回答这个问题不要直接抛出双亲委派模型作为答案,要从多角度分析。例如,类加载器应该如何设计?JVM如何实现类加载器?类加载器有几种?类加载有缺陷么?可以实现自定义类加载器么?

回答模板:首先对类加载器进行叙述,交代其存在的意义,介绍其余类加载过程的关系;其次对类加载的分类进行叙述,期间可以加入一些自己实践自定义类加载器的经历;随后引出双亲委派模型,把加载的委派关系和实际加载顺序进行叙述;随后进一步阐述双亲委派模型,描述如果不使用双亲委派模型会有怎样的副作用;随后对双亲委派模型的缺陷进行阐述,并引出Java模块化系统下的类加载器;最后进行总结性收尾。
 

2.2.3 请谈谈你对对象初始化和类初始化区别的理解

问题剖析:当面试官提出这个问题时,主要考察你对上述两个过程的理解是否透彻,因为很多人往往将这两个过程混为一谈。这两个过程发生的时机不同,可以对比二者各自的初始化过程进行分析。

回答模板:首先从二者发生的时机进行对比分析(什么时候初始化类?什么时候初始化对象?);其次结合内存模型展开分析,对类和对象初始化

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java面试必问JVM考点精讲 文章被收录于专栏

“挨踢”行业行情日益严峻,企业招聘的门槛也随之越来越高,大厂hc少之又少。 庞大的知识体系下,不知道学什么、怎么学? 面试高频考点是什么、怎么回答才能得到面试官的青睐? 作为后端求职者,在Java的道路上越走越宽。 本专刊则针对Java面试考点上,精讲JVM知识点,为大家的大厂求职路保驾护航! 针对如今校招痛点,深入详解JVM知识考点,列出高频真题并详细解答!探索JVM精髓!

全部评论

相关推荐

02-14 12:40
门头沟学院 Java
程序员花海:1.面试要求必须Java笔试不一定 2.难度对等秋招 远超于日常实习是因为同一批次且转正很多 竞争压力大 3.第一个加点指标,上线了就把接口性能加上去 使用本地缓存这个不算亮点 只是技术选型,要把为什么采用这个和背后的思考写出来而不是单纯堆叠技术没意义 4.八股要一直看 很容易忘记 5.拼团交易这个老问题 堆积技术 另外建议你把奖项合并到教育背景 没必要拆出来放最后
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务