写点什么

JVM 调优简要思想及简单案例 -JVM 是什么?

作者:zarmnosaj
  • 2022 年 6 月 15 日
  • 本文字数:737 字

    阅读完需:约 2 分钟

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 修饰的变量)分配内存空间,来一个默认的初始值


解析:。。。。。。

用户头像

zarmnosaj

关注

靡不有初,鲜克有终 2020.02.06 加入

成都后端混子

评论

发布
暂无评论
JVM调优简要思想及简单案例-JVM是什么?_6月月更_zarmnosaj_InfoQ写作社区