JVM面试整理总结①

简介: 接下来会为大家整理JVM相关的面试题,整个JVM的复习以及面试准备分为以下六个方面即可:①虚拟机类加载机制②JVM内存结构③JVM内存分配策略④垃圾收集器⑤JVM线上性能调优⑥线上OOM原因以及解决方案

前言

接下来会为大家整理JVM相关的面试题,整个JVM的复习以及面试准备分为以下六个方面即可:

  • ①虚拟机类加载机制
  • ②JVM内存结构
  • ③JVM内存分配策略
  • ④垃圾收集器
  • ⑤JVM线上性能调优
  • ⑥线上OOM原因以及解决方案

需要花一点时间好好将为大家整理的这些面试题搞懂,基本JVM这关可以畅通无阻了,只要不是什么太刁钻的问题,一般面试官是难不倒你的。

那么为了让大家能更好的理解JVM相关的面试,号主也会为大家专门录制对应的视频讲解(关注公众号以及技术群消息,号主需要抽业余时间单独录制,更新不及时大家多担待),不仅仅讲解如何回答,以及回答的技巧包括面试官的意图等都会为你进行分析;并且整个面试题会模拟真实面试中,像大厂等面试官会如何设计一系列的面试连环炮来考验你,每一个问题很有可能都是有关联以及考察你的综合全面能力的。

那么今天给大家先整理出第一篇:面试连环炮之【虚拟机类加载机制】问题篇,大家可以通过以下问题先自己尝试着找答案或心理思考应该如何回答,最好是能手动画出这样的一幅流程图,多练几次,刻在心中,做到心中有数!

①面试连环炮之【虚拟机类加载机制】

面试连环炮1:【抛砖引玉】

  • 请说下java代码的运行机制?
  • 请说一下JVM加载 Java代码/Class文件 的原理机制
  • 请说一下我们平时写的Java代码,是如何运行起来的?

以上三个问题其实是同一个问题,只是问法不一样

面试连环炮2:【进一步试探】

  • 请说下JVM的类加载机制
  • 请说下类的生命周期
  • 说一下类装载的执行过程

以上三个问题其实是同一个问题,只是问法不一样

面试连环炮3:【考察细节】

  • 说下类的加载时机
  • JVM在什么情况下会加载一个类呢?

以上两个问题其实是同一个问题,只是问法不一样

面试连环炮4:【挖掘内功】

  • JVM是如何识别一个java文件的以及是否符合规范
  • 什么时间段进行的验证,为什么要校验?
  • static静态变量存储在哪儿?什么时候进行的赋值?
  • 加了final的static变量是如何分配与初始化的?
  • 一个类会被初始化几次? 多线程情况下是如何保证类的初始化的?
  • 请概括下类的初始化时机

(这里的问题不代表同一个,都是考核的一些细节点问题)

第四个环节的问题非常考验大家的基本功,以及是否有深入的研究过JVM的类加载过程,这部分问题一般也只会在大厂的面试过程中被问到。

面试连环炮5:【继续考核】

  • 什么是类加载器,类加载器有哪些?
  • 什么是双亲委派模型?

注意:这里是两个不同的问题

面试连环炮6:【深入内功】

  • 说下破坏双亲委派机制
  • Java中的线程上下文类加载器是干嘛的?
  • 请说下Java类加载器的核心思路(源码)
  • 阿里面试题:Tomcat这种web容器中的类加载器应该如何设计实现?
  • 大厂面试题:我们在使用 JDBC 时,都需要加载 Driver 驱动,不知道你注意到没有,不写 Class.forName("com.mysql.jdbc.Driver") 也是可以让 com.mysql.jdbc.Driver 正确加载的,你知道是怎么做的吗?

这里依然是考核内功,通过不同的细节点考核你掌握的深度,是否有主动学习过源码以及对Tomcat和JDBC这些工具内部的原理是否有了解,有了解就是加分!

B站视频更新进度:
https://www.bilibili.com/video/BV1SP4y1b7sH?spm_id_from=333.999.0.0

目录
相关文章
|
10天前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
11天前
|
Arthas 监控 Java
JVM进阶调优系列(9)大厂面试官:内存溢出几种?能否现场演示一下?| 面试就那点事
本文介绍了JVM内存溢出(OOM)的四种类型:堆内存、栈内存、元数据区和直接内存溢出。每种类型通过示例代码演示了如何触发OOM,并分析了其原因。文章还提供了如何使用JVM命令工具(如jmap、jhat、GCeasy、Arthas等)分析和定位内存溢出问题的方法。最后,强调了合理设置JVM参数和及时回收内存的重要性。
|
1月前
|
存储 监控 算法
美团面试:说说 G1垃圾回收 底层原理?说说你 JVM 调优的过程 ?
尼恩提示: G1垃圾回收 原理非常重要, 是面试的重点, 大家一定要好好掌握
美团面试:说说 G1垃圾回收 底层原理?说说你 JVM 调优的过程  ?
|
2月前
|
安全 Java 应用服务中间件
JVM常见面试题(三):类加载器,双亲委派模型,类装载的执行过程
什么是类加载器,类加载器有哪些;什么是双亲委派模型,JVM为什么采用双亲委派机制,打破双亲委派机制;类装载的执行过程
JVM常见面试题(三):类加载器,双亲委派模型,类装载的执行过程
|
1月前
|
Java 应用服务中间件 程序员
JVM知识体系学习八:OOM的案例(承接上篇博文,可以作为面试中的案例)
这篇文章通过多个案例深入探讨了Java虚拟机(JVM)中的内存溢出问题,涵盖了堆内存、方法区、直接内存和栈内存溢出的原因、诊断方法和解决方案,并讨论了不同JDK版本垃圾回收器的变化。
30 4
|
1月前
|
Java API 对象存储
JVM进阶调优系列(2)字节面试:JVM内存区域怎么划分,分别有什么用?
本文详细解析了JVM类加载过程的关键步骤,包括加载验证、准备、解析和初始化等阶段,并介绍了元数据区、程序计数器、虚拟机栈、堆内存及本地方法栈的作用。通过本文,读者可以深入了解JVM的工作原理,理解类加载器的类型及其机制,并掌握类加载过程中各阶段的具体操作。
|
1月前
|
存储 缓存 JavaScript
JVM面试真题总结(一)
JVM面试真题总结(一)
|
2月前
|
存储 缓存 监控
【Java面试题汇总】JVM篇(2023版)
JVM内存模型、双亲委派模型、类加载机制、内存溢出、垃圾回收机制、内存泄漏、垃圾回收流程、垃圾回收器、G1、CMS、JVM调优
【Java面试题汇总】JVM篇(2023版)
|
1月前
|
存储 Kubernetes 架构师
阿里面试:JVM 锁内存 是怎么变化的? JVM 锁的膨胀过程 ?
尼恩,一位经验丰富的40岁老架构师,通过其读者交流群分享了一系列关于JVM锁的深度解析,包括偏向锁、轻量级锁、自旋锁和重量级锁的概念、内存结构变化及锁膨胀流程。这些内容不仅帮助群内的小伙伴们顺利通过了多家一线互联网企业的面试,还整理成了《尼恩Java面试宝典》等技术资料,助力更多开发者提升技术水平,实现职业逆袭。尼恩强调,掌握这些核心知识点不仅能提高面试成功率,还能在实际工作中更好地应对高并发场景下的性能优化问题。
|
3月前
|
存储 安全 Java
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
下一篇
无影云桌面