好友靠 JVM 成功进入阿里,阿里大佬力荐的 JVM 笔记到底有什么魔力?
大家都是有经验的 Java 开发人员,想想为何要学习 JVM? [面试?调优?装逼? ]
不管出于何种原因,总之你得先学好。那怎么学好呢?
每个人对于 JVM 的了解可能不一样,这就要考虑到怎么切入
既然大家都学习过 Java,那不妨就从 Java 开始聊起,同时也是扫盲,毕竟不是每个小伙伴都是计算机专业
优秀的 Java 开发者
什么是 Java?
编程语言
计算机[硬件]能够懂的语言
So JM 是什么?
JDK JRE JyM

JVM 到底该学习什么
Java 源码文件 ——> javac 编译器 ——> Class 文件 ——> Java Virtual Machine
源码到类文件
类文件到虚拟机(类加载机制)
运行时数据区(Run -Time Data Areas)
JVM 内存模型
Garbage Collect (垃圾回收)


工欲善其事必先利其器
经过前面的各种分析学习,我们知道了关于 JVM 很多的知识,比如版本信息,类加载,堆,方法区,垃圾回收等,但是总觉得心里不踏实,原因是没看到实际的一些东西。
这一节主要聊一聊关于怎么将这些内容进行直 观地展示在我们面前,包括怎么进行相应的一些设置。
JVM 参数
常用命令
常用工具
执行引擎
重新认知 JVM


性能优化
JVM 的性能优化可以分为代码层面和非代码层面。
在代码层面,大家可以结合字节码指令进行优化,比如一个循环语句, 可以将循环不相关的代码提取到循环体之外,这样在字节码层面就不需要重复执行这些代码了。
在非代码层面,一般情况可以从内存、gc 以及 cpu 占用率等方面进行优化。
注意,JVM 调优是一个漫长和复杂的过程,而在很多情况下,JVM 是不需要优化的,因为 VM 本身已经做了很多的内部优化操作。
那今天我们就从内存、gc 以及 cpu 这 3 个方面和大家-起探讨一下 JVM 的优化, 但是大家要注意的是不要为了调优和调优。
内存
GC
CFU 占用率高
JVM 性能优化指南
常见问题


JVM 从入门到入魔附笔记
对这本 jvm 入门到入魔及 JVM 调优文档笔记感兴趣的朋友们【点击此处】即可免费获取

JVM 与性能优化知识点整理

评论