JVM 调优简要思想及简单案例 -JVM 的内存区域大致划分
前言
上一块主要是了解一下 JVM 到底是个什么东西,此部分主要针对 JVM 的内存区域 ,我们要探讨它这里面的内存区域到底是怎么划分的,从代码执行的这样一个大概步骤,我们去理解。
JVM 的内存区域大致划分
根据之前讨论的步骤,jvm 需要以下大致区域来使用:
区域一:加载这个 class 文件 到 JVM 里面的时候,会有一块内存区域存放这个 class 文件。这一块存放已加载类信息
区域二:有 new hello 这样一段代码, new hello 它其实就是创建一个对象,这样一个创建出来的对象,它肯定是需要一块区域去保存的
区域三:第三块刚有简单的提到,比如说准备阶段,有一些变量,它会分配一些初始化的空间来保存。这样一块区域,也是要用来保存方法里面的一些局部变量。
区域四:需要一个程序计数据。比如说它在执行到某一行代码时,需要用一个东西去记录我们去执行到哪一段了。因为我们一个方法然后执行到一半的时候就会调用另外一个方法。那另外一个方法执行完成之后再回到这个方法,它需要继续在它调用之前那一段开始继续执行,而不是从头执行。程序计数据,这个作用就体现在这
其他区域:其他一些内存区域,暂时不过不做过多的探讨
对于以上的描述,就对应图示这几块区域,然后也对应了 JVM 里面大致的一个内存内存划分。
比如说方法区,方法区是主要用于存放加载类信息或者是一些静态变量的,这是一个通用的命名,我们称之为方法区。
虚拟机栈的话主要保存局部变量
本地方法栈暂不探讨
堆就对应这以上的区域二,这一块是我们主要需要关心的地方,JVM 调优也主要是调优这一部分的区域。
程序计数器
版权声明: 本文为 InfoQ 作者【zarmnosaj】的原创文章。
原文链接:【http://xie.infoq.cn/article/c022ede3b319c6d2e2496d1c5】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论