专栏首页Android知识分享全面&详细的面试指南:Java虚拟机(JVM)篇 (附答案)

全面&详细的面试指南:Java虚拟机(JVM)篇 (附答案)

面试考察点

  • Java虚拟机(JVM)内存结构
  • Java对象常见活动:创建、内存布局、访问定位、如何判断存活
  • 垃圾收集相关:垃圾收集算法、垃圾收集器
  • 类加载相关:类加载过程、类加载器
  • 方法分派模型:静态分派、动态分派

考察点1:Java虚拟机(JVM)内存结构

Java虚拟机在运行Java程序时,会管理着一块内存区域:运行时数据区。这里考察的内容是:

  • 内存模型 & 分区具体有哪些
  • 每个分区的作用、存放的内容是什么
  • Java堆分区内的新生代、老年代划分内存比例及其各自的特点是什么

上述问题的答案,具体请看文章:Carson带你学JVM:图文解析Java虚拟机内存结构

考察点2:Java对象常见活动

主要考察Java对象在底层的一些常见活动,主要包括:

  • 一个Java对象是如何被创建的?即Java对象的创建过程。
  • 在 Java 对象创建后,是如何被存储在Java内存里的?即Java对象的内存布局。
  • 当建立了一个Java对象后,该如何访问到该对象?即Java对象的访问定位。
  • 如何判断Java对象是否存活?即**Java对象的存活准则,**包括:引用计数法、引用链法(可达性分析法)的具体相关内容。

上述问题的答案,具体请看文章:

考察点3:垃圾收集相关

主要包括:垃圾收集算法、垃圾收集器

1. 垃圾收集算法

不同的内存区域采用不同的垃圾收集算法,而不同垃圾收集算法决定了垃圾收集的效率 & 效果。主要考察点包括:

  • 垃圾收集算法有哪些类型?
  • 每种垃圾收集算法的原理、特点、应用场景分别是什么?
  • Minor GC 与 Full GC 分别在什么时候发生?
  • 如果需要优化垃圾收集方法,有什么方向及思路?

上述问题的答案,具体请看文章:Carson带你学JVM:这是一份全面 & 详细的垃圾收集算法(GC)讲解攻略

2. 垃圾收集器

垃圾收集器是垃圾收集算法的具体实现,考察的内容包括:

  • 常见的垃圾收集器有哪些?
  • 不同类型的垃圾收集器其优点、缺点是什么?
  • CMS收集器跟G1收集器有什么了解?它们的特点分别是什么?

上述问题的答案,具体请看文章:Carson带你学JVM:常见的垃圾收集器学习指南

考察点4:类加载

即Java类是如何被加载的。这里主要考察的内容是:

  • 类加载的本质是什么?
  • 类加载的过程有哪些步骤?
  • 类加载的每个步骤及作用具体是什么?
  • 如何确定被加载类在Java虚拟机的唯一性?
  • 类加载器有哪些类型?分别负责加载哪种类型的类?
  • 如何自定义一个类加载器
  • 双亲委派模型具体指的是什么?请阐述其工作流程。

上述问题的答案,具体请看文章:

考察点5:方法分派

方法分派即指:确定执行哪个方法的过程。这里主要考察的内容是:

  • 方法分派的类型有哪些?
  • 如何理解:变量的静态类型 & 动态类型
  • 静态分派及动态分派的定义、特点、应用场景及区别

上述问题的答案,具体请看文章:Carson带你学JVM:方法分派模型-静态分派、动态分派

至此,关于面试指南中的Java虚拟机(JVM) 篇讲解完毕。下面我会对面试内容继续进行讲解

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/carson_ho复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 全面&详细的面试指南:Java语言篇 (附答案)

    关于上述Java集合的所有内容介绍,具体请看文章:Carson带你学Java:那些关于集合的知识都在这里了!

    Carson.Ho
  • 全面&详细的面试指南:操作系统篇 (附答案)

    将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配

    Carson.Ho
  • 全面&详细的面试指南:数据结构与算法篇 (附答案)

    对于不同的查找需求场景,会采用不同的查找类型,最终采用的查找方式(查找算法)也有所不同,具体如下

    Carson.Ho
  • 全面&详细的面试指南:计算机网络篇 (附答案)

    计算机网络体系结构分为3种:OSI体系结构、TCP / IP体系结构、五层体系结构。

    Carson.Ho
  • 2021 Java面试题大全(整理版)1000+面试题附答案详解,最全面详细,看完稳了!

    进大厂是大部分程序员的梦想,而进大厂的门槛也是比较高的,所以这里整理了一份阿里、美团、滴滴、头条等大厂面试大全,其中概括的知识点有:Java、MyBatis、Z...

    全栈程序员站长
  • Android大厂面试经验分享(OPPO,字节,华为,阿里)

    我是从小公司跳出来的,最终入职OPPO,说实话这段时间的经历让我深深地感受到,我们为跳槽做的一些临时抱佛脚的提升跟那些大佬的沉淀比起来太渺小了。我们都知道找资料...

    没关系再继续努力
  • 【程序源代码】非常棒的java学习面试指南

    最近好多同学想学习java,我在网上找了找终于找到这个指南。这一个非常不错的java学习指南。内容包含的比较全面,知识点也比较完整。

    程序源代码
  • Java工程师学习指南第6部分:深入理解JVM虚拟机

    本文整理了微信公众号【Java技术江湖】发表和转载过的JVM虚拟机相关优质文章,想看到更多Java技术文章,就赶紧关注本公众号吧吧。

    Java技术江湖
  • 错过“金三银四”的Java程序员面试有多苦逼!机会只留给有准备的人!

    错过金三银四的,切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因影响自己的发展,偏移自己规划的轨迹,还是钱给...

    Java程序猿
  • 外包干了四年,废了!

    如果不是被女朋友抛弃,我估计现在还没醒悟。大专生,18年通过校招进入湖南某软件公司,干了接近4年的CRUD,今年年初,感觉自己不能够在这样下去了,长时间呆在一个...

    Java3y
  • 外包干了四年,废了!

    如果不是被女朋友抛弃,我估计现在还没醒悟。大专生,18年通过校招进入湖南某软件公司,干了接近4年的CRUD,今年年初,感觉自己不能够在这样下去了,长时间呆在一个...

    芋道源码
  • 寒冬也挡不住进大厂的决心,Android面试完整知识架构,面试需要掌握的都在这里!

    年年寒冬,年年也挡不住一个Android程序员追求大厂的决心。想要进入大厂,我们需要掌握哪些知识点呢?这里,我为大家梳理了一个整体的知识架构。整体包括Java、...

    Android技术干货分享
  • Java工程师学习指南 中级篇

    最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文...

    公众号_程序员黄小斜
  • Java工程师学习指南第2部分:JavaWeb技术世界

    安利一个很不错的Java技术仓库,该仓库为【Java工程师技术指南】力求打造最完整最实用的Java工程师学习指南!github.com/h2pl/

    Java技术江湖
  • Java工程师学习指南第3部分:Spring与SpringMVC源码解析

    安利一个很不错的Java技术仓库,该仓库为【Java工程师技术指南】力求打造最完整最实用的Java工程师学习指南!github.com/h2pl/

    Java技术江湖
  • Java工程师学习指南第1部分:夯实Java基础系列

    安利一个很不错的Java技术仓库,该仓库为【Java工程师技术指南】力求打造最完整最实用的Java工程师学习指南!github.com/h2pl/

    Java技术江湖
  • 思维导图学Java虚拟机

    本篇文章是对周志明的《深入理解Java虚拟机》的读书笔记,思维导图使用Mindjet MindManager。曾经看到过这样一句话:

    Yano_nankai

扫码关注腾讯云开发者

领取腾讯云代金券