前言
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。它不仅是一种跨平台的软件,而且是一种新的网络计算平台。该平台包括许多相关的技术,如符合开放接口标准的各种API、优化技术等。
为什么要进行调优
JVM调优,调的是稳定,并不能带给你性能的大幅提升。服务稳定的重要性就不用多说了,保证服务的稳定,gc永远会是Java程序员需要考虑的不稳定因素之一。复杂和高并发下的服务,必须保证每次gc不会出现性能下降,各种性能指标不会出现波动,gc回收规律而且干净,找到合适的jvm设置。
面试为什么总问JVM调优
一般面试时问JVM调优,主要是因为,这个技术并不是懂了Java就能自然懂的,需要明白一些底层原理,有一些深度。所以比较适合用来查看面试者是不是足够“高级”。
JVM调优学习导图
下面是大佬整理出来的JVM与性能优化详细知识点目录(由于内容太多这里只截部分目录)需要的小伙伴可以转发+关注后,私信【JVM】即可!
面试题(部分)附答案详解
1. 内存模型以及分区,需要详细到每个区放什么
2. 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点
3. 对象创建方法,对象的内存分配,对象的访问定位
4. GC 的两种判定方法
5. SafePoint 是什么
6. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用
在什么地方,如果让你优化收集方法,有什么思路
7. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点
8. Minor GC 与 Full GC 分别在什么时候发生
9. 几种常用的内存调试工具:jmap、jstack、jconsole、jhat
10. 类加载的几个过程
答案如下:
全书共有716页由于内容太多这里只截部分目录,需要的小伙伴转发+关注后,私信【JVM】即可!