大家都是有经验的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性能优化指南
- 常见问题
网友评论