JVM面试题100道(含答案解析)
在Java后端开发面试中JVMJava Virtual Machine几乎是必问的核心知识点。很多互联网公司如大厂或中大型技术团队在技术面试中都会重点考察JVM内存模型、垃圾回收机制、类加载机制以及JVM调优能力。本文整理了一份JVM面试题100道含答案解析帮助Java程序员系统复习JVM知识体系。适合人群Java后端开发工程师准备跳槽涨薪的Java程序员想系统学习JVM原理的开发者准备大厂技术面试的工程师如果你想查看完整JVM题库 AI答案解析可以访问https://myquotego.com/html/questions?_fromcsdn_158935487_1一、JVM基础面试题1-201、什么是JVMJVMJava Virtual Machine是运行Java字节码的虚拟机它负责加载类执行字节码管理内存垃圾回收JVM的存在使得Java具有跨平台特性Write Once Run Anywhere。2、JVM的主要组成部分有哪些JVM主要由以下部分组成类加载子系统运行时数据区执行引擎本地方法接口JNI垃圾回收器3、JDK、JRE、JVM之间的关系JDKJava开发工具包JREJava运行环境JVMJava虚拟机关系JDK JRE JVM4、JVM运行时数据区有哪些JVM运行时内存结构主要包括程序计数器Java虚拟机栈本地方法栈堆方法区5、程序计数器的作用是什么程序计数器用于记录当前线程执行的字节码指令地址。特点线程私有不会发生OOM6、Java虚拟机栈是什么Java虚拟机栈是线程私有的内存区域用于存储局部变量操作数栈方法返回地址每个方法执行都会创建一个栈帧。7、什么是栈帧栈帧包含局部变量表操作数栈动态链接方法返回地址8、什么情况下会出现StackOverflowError当线程请求的栈深度超过虚拟机允许的最大深度时会抛出StackOverflowError常见原因无限递归栈深度过大9、什么情况下会出现OutOfMemoryError当JVM无法再分配内存时会抛出OutOfMemoryError常见情况堆内存不足方法区内存不足直接内存不足10、什么是堆堆是JVM中最大的一块内存区域用于存放对象实例数组堆是线程共享的。更多JVM面试题可以查看完整题库https://myquotego.com/html/questions?_fromcsdn_158935487_2二、JVM内存结构面试题21-4021、堆内存结构是怎样的堆通常分为新生代老年代新生代又分为Eden区Survivor0Survivor122、为什么要分代因为不同对象生命周期不同大多数对象生命周期很短少数对象生命周期很长分代可以提高GC效率。23、什么是TLABTLABThread Local Allocation Buffer是线程私有的内存区域用于减少线程竞争。24、什么是对象分配策略对象分配通常优先在Eden区。大对象可能直接进入老年代。25、什么是逃逸分析逃逸分析用于判断对象是否会被其他线程访问从而决定是否分配在栈上是否进行锁消除三、垃圾回收面试题41-6041、什么是垃圾回收垃圾回收是自动回收不再使用的对象内存。42、判断对象是否存活的方法两种引用计数法可达性分析Java使用可达性分析。43、什么是GC RootsGC Roots是可达性分析的起点。常见GC Roots栈中的引用静态变量常量JNI引用44、常见垃圾回收算法有哪些主要有标记清除标记整理复制算法分代收集算法45、Minor GC 和 Full GC 有什么区别Minor GC发生在新生代Full GC发生在整个堆更多垃圾回收面试题与答案解析https://myquotego.com/html/questions?_fromcsdn_158935487_3四、垃圾回收器面试题61-80常见GC收集器SerialParNewParallel ScavengeCMSG161、CMS垃圾回收器的特点特点低停顿并发收集缺点会产生内存碎片62、G1垃圾回收器有什么特点特点面向服务端可预测停顿时间分区回收63、G1为什么比CMS先进原因不会产生严重碎片更好的停顿控制五、类加载机制面试题81-10081、Java类加载过程五个阶段加载验证准备解析初始化82、什么是双亲委派模型类加载时子加载器↓父加载器↓Bootstrap优点避免重复加载提高安全性83、哪些类加载器三种Bootstrap ClassLoaderExtension ClassLoaderApplication ClassLoader84、如何打破双亲委派自定义 ClassLoader。85、什么是热部署在不重启应用的情况下加载新类。更多Java面试题整理JVM面试题MySQL面试题Redis面试题Spring面试题完整面试题库https://myquotego.com/html/questions?_fromcsdn_158935487_4支持AI模拟面试AI答案解析2000面试题
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2412017.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!