我们知道,Java语言一直以来都是最流行的编程语言,Java技术生态主要由支撑Java程序运行的Java虚拟机、Java编程语言本身,提供各开发领域接口支持的Java类库、以及大量的第三方Java框架(如MyBatis、SpringBoot、Dubbo、Spring Cloud等等)构成;
那么Java运行的基础环境是JVM,即Java虚拟机,只要你学习Java,就离不开JVM,Java语言的一个非常重要的特点就是跨平台,而JVM是实现这一特点的关键所在,有了JVM使得Java实现了一次编译,到处运行的目标;
在日常开发中,我们可能不会太关注JVM,而主要把精力放在了实现具体业务需求上,但Java技术已被应用于越来越多的领域之中,其中一些领域,如互联网、金融、通信等,对程序的性能、稳定性会有极高的要求,从而也对我们Java开发人员提出了更高的要求,如果开发人员不了解Java虚拟机的运行原理,就无法写出更高效的代码,遇到问题时也会束手无策、一筹莫展;
正因为如此,许多企业在招聘Java开发人员时,都会非常关注求职者对JVM运行原理的了解程度,尤其是一些互联网大厂,JVM是面试必问的内容,在这个问题上,每个求职者不应该怀有侥幸心理,设想着如何蒙混过关,而应该切实地掌握JVM的运行原理,调优方法;
本套视频把JVM的方方面面以面试题的方式进行了高度总结,囊括了JVM高频面试题,既有对JVM底层原理的剖析,又有JVM故障诊断、性能调优的具体实战,切实帮你打通求职面试、实现高薪跳槽的最后一公里。
1-0 JVM面试题课程导读
1-1 Java运行时一个类是什么时候被加载的?
1-2 JVM一个类的加载过程?
1-3 一个类被初始化的过程?
1-4 继承时父子类的初始化顺序是怎样的?
1-5 究竟什么是类加载器?
1-6 JVM有哪些类加载器?
1-7 JVM中不同的类加载器加载哪些文件1?
1-8 JVM中不同的类加载器加载哪些文件2?
1-9 JVM中不同的类加载器加载哪些文件3?
1-10 JVM三层类加载器之间的关系是继承吗?
1-11 你了解JVM类加载的双亲委派模型吗?
1-12 JDK为什么要设计双亲委派模型-有什么好处?
1-13 可以打破JVM双亲委派模型吗?如何打破JVM双亲委派模型?
1-14 如何自定义自己的类加载器?
1-15 ClassLoader中的loadClass()、findClass()、defineClass()区别?
1-16 你了解Tomcat的类加载机制吗1?
1-17 你了解Tomcat的类加载机制吗2?
1-18 你了解Tomcat的类加载机制吗3?
1-19 为什么Tomcat要破坏双亲委派模型?
1-20 有没有听说过热加载和热部署-如何自己实现一个热加载1?
1-21 有没有听说过热加载和热部署-如何自己实现一个热加载2?
2-1 Java代码到底是如何运行起来的?
2-2 来-画一下JVM整个运行原理图?
2-3 请介绍一下JVM的内存结构划分?
2-4 JVM哪些区域是线程私有的-哪些区域是线程共享的?
2-5 从JVM角度剖析一段程序代码如何执行?
2-6 JVM运行时数据区程序计数器的特点及作用?
2-7 JVM运行时数据区虚拟机栈的特点及作用?
2-8 JVM运行时数据区本地方法栈的特点及作用?
2-9 JVM运行时数据区Java堆的特点及作用?
2-10 JVM中对象如何在堆内存分配?
2-11 JVM堆内存中的对象布局?
2-12 JVM什么情况下会发生堆内存溢出1?
2-13 JVM什么情况下会发生堆内存溢出2?
2-14 JVM什么情况下会发生堆内存溢出3?
2-15 JVM什么情况下会发生堆内存溢出?
2-16 JVM如何判断对象可以被回收?
2-17 谈谈Java中不同的引用类型?
2-18 JVM堆内存分代模型?
2-19 请介绍一下JVM堆中新生代的垃圾回收过程1?
2-20 请介绍一下JVM堆中新生代的垃圾回收过程2?
2-21 JVM对象动态年龄判断是怎么回事1?
2-22 JVM对象动态年龄判断是怎么回事2?
2-23 什么是老年代空间分配担保机制
2-24 什么情况下对象会进入老年代?
2-25 JVM运行时数据区元空间的特点及作用?
2-26 JVM本机直接内存的特点及作用?
2-27 JVM本机直接内存溢出问题1?
2-28 JVM本机直接内存溢出问题2?
2-29 说几个与JVM内存相关的核心参数?
2-30 如何计算一个对象占用内存的大小?
3-1 堆为什么要分成年轻代和老年代?
3-2 JVM堆的年轻代为什么要有两个Survivor区?
3-3 Eden区与Survivor区的空间大小比值为什么默认是8比1?
3-4 请介绍下JVM中的垃圾回收算法-标记清除?
3-5 请介绍下JVM中的垃圾回收算法-复制算法?
3-6 请介绍下JVM中的垃圾回收算法-标记整理?
3-7 请介绍下JVM中的垃圾回收算法-分代垃圾收集?
3-8 请介绍一下JVM垃圾收集器?
3-9 请介绍一下JVM垃圾收集器-Serial?
3-10 请介绍一下JVM垃圾收集器-ParNew?
3-11 请介绍一下JVM垃圾收集器-ParallelScavenge?
3-12 请介绍一下JVM垃圾收集器-ParallelScavenge?
3-13 请介绍一下JVM垃圾收集器-SerialOld?
3-14 请介绍一下JVM垃圾收集器-ParallelOld?
3-15 请介绍一下JVM垃圾收集器-ConcurrentMarkSweep?
3-16 请介绍一下JVM垃圾收集器-ConcurrentMarkSweep?
3-17 请介绍一下JVM垃圾收集器-ConcurrentMarkSweep?
3-18 请介绍一下JVM垃圾收集器-GarbageFirst?
3-19 请介绍一下JVM垃圾收集器-GarbageFirst?
3-20 请介绍一下JVM垃圾收集器-GarbageFirst?
3-21 请介绍一下JVM垃圾收集器-GarbageFirst?
3-22 请介绍一下JVM垃圾收集器-GarbageFirst?
3-23 请介绍一下JVM垃圾收集器-GarbageFirst?
3-24 请介绍一下JVM垃圾收集器-GarbageFirst?
3-25 请介绍一下JVM垃圾收集器-GarbageFirst?
3-26 请介绍一下JVM垃圾收集器-GarbageFirst?
3-27 请介绍一下JVM垃圾收集器-GarbageFirst?
3-28 请介绍一下JVM垃圾收集器-GarbageFirst?
3-29 什么时候使用垃圾收集器-GarbageFirst?
3-30 ZGC收集器与Shenandoah收集器?
4-1 什么是内存泄漏?什么是内存溢出?
4-2 你们线上环境的JVM都设置多大?
4-3 线上Java服务器内存飙升怎么回事1?
4-4 线上Java服务器内存飙升怎么回事2?
4-5 线上Java服务器内存飙升怎么回事3?
4-6 线上Java项目CPU飙到100%怎么排查?
4-7 JVM堆溢出后,其他线程是否可以继续工作1?
4-8 JVM堆溢出后,其他线程是否可以继续工作2?
4-9 线上Java项目OOM了,怎么回事?
4-10 某一天晚上,线上Java服务器宕机了,怎么回事?
4-11 亿级流量的互联网电商订单系统JVM优化1
4-12 亿级流量的互联网电商订单系统JVM优化2
4-13 亿级流量的互联网电商订单系统JVM优化3
4-14 亿级流量的互联网电商订单系统JVM优化4
4-15 亿级流量的互联网电商订单系统JVM优化5
4-16 亿级流量的互联网电商订单系统JVM优化6
获取步骤