写点什么

JVM 调优简要思想及简单案例 - 代码执行与内存区域

作者:zarmnosaj
  • 2022 年 6 月 17 日
  • 本文字数:594 字

    阅读完需:约 2 分钟

# JVM 调优简要思想及简单案例-代码执行与内存区域

以下是一段代码的执行,对应在 JVM 中的简要流程:

1. 程序启动,比如一个简单的 main 方法,JVM 创建一个线程去执行 main 方法

2. 在 main 方法中,JVM 对需要使用到的类进行加载

3. 程序计数器会同时记录执行到哪一段代码

4. 虚拟机栈保存线程的在执行过程中创建的局部变量

5. 代码执行过程中创建各种对象,并放在堆中保存

......

首先程序启动,执行入口都会有一个 main 方法,那 VJM 它也会创建一个线程去从 main 方法开始执行。

main 方法中,或者其他方法中,都会记录在哪段代码里,分别会使用到哪些类,JVM 它会把这些相应的类进行加载。

执行代码的时候需要能有一个程序,也就是程序计数器,记录执行到哪一段代码。

有虚拟机栈会保存变成一些局部变量。

然后是堆中,线程中创建的各种对象,都会放在堆中保存。

。。。。。。(其他过程略)

引出的问题:

前面有提到过,一段代码,其实主要是创建对象和执行一些方法什么的。我们也提到过,JVM 优化,其实主要是针对堆一块,堆这一块主要是保存对象实例的。

程序在执行过程中,其实会有不断地产生新对象,因为我们一个线程执行完成之后,它会有一些废弃的对象,另外一个线程来创另外一个线程执行的话,它也会有一些新对象的产生。那程序持续地运行,它会不断地产生新对象,这些不再需要的对象我们需要怎么处理?JVM 里面有一个垃圾回收机制,把我们不需要的对象进行回收掉。需要持续保留的对象不会进行回收。

发布于: 刚刚阅读数: 3
用户头像

zarmnosaj

关注

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

成都后端混子

评论

发布
暂无评论
JVM调优简要思想及简单案例-代码执行与内存区域_6月月更_zarmnosaj_InfoQ写作社区