我为什么要开始学习JVM?

JVM是java虚拟机,只要做java开发相关工作的人,就离不开它,日常工作中离了它是玩不转的。有点追求的开发者都会想了解它。
今天我开始深入的学习下JVM,并做下我的学习笔记,以防自己忘记,往后还可以做到温故而知新
问题是最好的老师,下面我抛出几个问题
1、Java源代码是怎么变成字节码的,字节码又是怎么进入JVM?
2、JVM如何执行字节码?有哪些分区?不同的分区都有什么职能?
3、如何监控JVM的运行?如何做到问题的快速定位?
4、如何根据自己的框架做优化?
让我带着问题去研究它。不懂JVM并不会影响我们写代码,只要业务逻辑正确,通过JVM按照自己的业务逻辑就会得出正确的结果。但得出正确的结果并不能满足我们。在确保结果正确的前提下,我们应该让运算更加快速,响应时间更加短,这样才能提供更好的用户体验,更大程度的留住我们的用户。
在项目运行过程中,你是否遇到过以下几个问题
1、程序初启动时,程序是正常的,在程序运行一段时间后,会出现宕机,重启后依然出现这个问题
2、程序处启动时,响应速度比较快,随着启动时间的增长,程序响应时间会变慢
3、程序某一个API响应时间一直很慢
不同的业务场景,JVM的配置肯定也是不应该一样的,你是否每个业务的配置都是JVM默认的。一定要根据自己的业务场景,配置不同的JVM参数,否则是非常危险的。
每一个系统都是有一定框架的,以防自己学完后 一知半解,因此学习时要有一个系统的观念,是一个整体的。把整体再拆分成不同的模块,每个模块下又会有多个知识点,每个知识点之间又存在着联系。有个这个认知的前提下,下面我开始进入JVM的学习,我相信系统的学习后,我能全面的掌握。在今后的工作中,能够对线上应用进行优化和故障的排查。

1、JVM的基础设计
2、JVM的类加载器机制
3、字节码和字节码指令入门

你可能感兴趣的:(我为什么要开始学习JVM?)