Java-JVM原理、调优

JVM原理、调优
JVM内存结构由堆、栈、本地方法栈、方法区等部分组成

  1. 堆:主要有新生代空间(Young)和老年代空间(Old),其中Young空间,又被分为2个部 分和3个板块,分别是1个Egen区,和2个Survivor区
  2. 栈:线程私有,JVM为每个新创建的线程都分配一个栈,它的生命周期与线程相同。也就是说,对于一个Java程序来说,它的运行就是通过对栈的操作来完成的。每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用于存储局部变量表、操作栈、动态链接、方法出口等信息。每一个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程,该过程具有先进后出的特性。
    本地方法栈:用于支持native方法的执行,存储了每个native方法调用的状态
  3. 方法区:存放了jvm初始化时加载器加载的类信息、静态变量、final类型的常量、属性和方法信息。(永久代和元空间都是方法区的一种实现,区别是,永久代使用的是JVM的堆内存空间,会内存溢出,而元空间使用的是物理内存,直接受到本机的物理内存限制。 )
  4. 程序计数器:程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器

    方法区和堆是所有线程共享的内存区域;而java栈、本地方法栈和程序员计数器是运行是线程私有的内存区域。

jconsole 使用:

参考文献:

http://www.importnew.com/23792.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuhaojavax

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值