JVM 调优简要思想及简单案例 -JVM 是什么?
JVM 是什么?
JVM 调优的简要思想和简单的案例,这个里面内容不算是很深入,我认为应该就算不是一个后端工程师,应该也能听懂,因为写的还是比较浅显,然后讲的东西也不算很深入。主要还是为了让大部分有个理解。
先说一下调优这一块。其实调优是一个很大的一块内容,因为调优可能会涉及到 jvm 调优或者是架构调优以及一些数据库调优或者是其他调优, JVM 调优只是属于这里面其中的一块。这个 jvm 调优其实主要也是针对后端。这一块这是我也认为是知识体系里面不可或缺的一部分。
java 代码到成为一个可运行的程序的大致流程:
jvm 到底是个什么东西?这个切入点是从一个代码文件,然后变成一个可运行程序的一个大致流程。因为我们大部分写的其实是一个.Java 文件。然后我们如果要发布到服务器上进行运行,然后中间会经历打包,打包我们可能会打成 jar 包或者 war 包,这时候点 java 文件会变成点.class 文件。
JVM 会把我们编译好的点 class 文件加载到 JVM 里面,然后通过字节码执行引擎,然后去执行那一块代码。这部分的加载主要是通过类加载器对类进行加载,这些只是附带的一些内容。不是这部分主要关心的,暂不做过多探讨。
然后从上面这个图里面可以看到, jvm 可以理解成执行 Java 代码的一个执行引擎,当 class 文件加载到 JVM 里面,它其实也会经历一些其他步骤,这些步骤也仅限于了解:加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载。
加载:JVM 在执行代码的过程中,代码有用到某个类,JVM 就会把这个类的.class 文件加载到内存中。例如代码中的:new Hello()。
验证:简单来说,这一步就是根据 Java 虚拟机规范,来校验你加载进来的“.class”文件中的内容,是否符合指定的规范。
准备:给他里面的类变量(也就是 static 修饰的变量)分配内存空间,来一个默认的初始值
解析:。。。。。。
评论