JVM内存结构

Oracle官方文档

JVM体系结构

在这里插入图片描述

JVM内存结构

在这里插入图片描述
在这里插入图片描述

程序计数器

  • 保存当前执行指令的地址,一旦指令执行,程序计数器将更新到下一条指令

虚拟机栈

  • 每个线程运行时所需要的内存空间,称为虚拟机栈
  • 每个栈由多个栈帧组成,对应着每次方法调用时所占用的内存
  • 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法

栈帧

  • 局部变量表
  • 操作数栈
  • 动态链接
  • 方法返回地址

本地方法栈

  • 类似虚拟机栈,线程私有
  • 本地方法栈服务于JVM内的native方法

  • 用于存放对象的内存区域,是垃圾回收的主要区域
  • 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建
  • 堆在逻辑上分为新生代和老年代,新生代分为Eden区,ServivorFrom区,ServivorTo区
  • Xms Xmx 设置堆的最小内存和最大内存
  • jps查看jvm中的进程
  • jmap查看某一个时刻的堆内存占用情况 jmap -heap 进程id
  • jconsole 图形界面Java性能分析工具

方法区

  • 存储每个类的结构
  • 例如运行时常量池、字段、方法数据,以及方法和构造函数的代码,包括用于类和实例初始化以及接口初始化的特殊方法
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值