jvm运行时数据区模型

jvm运行时内存模型

在这里插入图片描述

存放的是 新创建出来的对象。这一块对jvm性能影响很大,垃圾回收机制也是在一块进行处理的。

线程栈

每一个线程都有一个单独的线程栈,当cpu调用某一个线程的时候,会给这个线程分配一块内存,一个线程会根据这个class 不同的方法会有不同的栈帧,jvm只能压入和弹出栈帧两种操作,当调用一个方法的时候压入栈帧方法结束时弹出栈帧

栈帧

每一个方法都有自己的栈帧,栈帧内又分布操作数栈、局部变量表、动态链接、方法出口

  1. 局部变量表,就是存的是每一个变量的值,
  2. 操作数栈 就是将局部变量的值进行操作之后再返回出去,例如 test()
    在这里插入图片描述
    当然真实的jvm里面不是这个样子
    a=1 b=1还有 a*b+a 都是jvm指令

3.动态链接存放的是程序在运行的过程中方法对应的指令码地址
4,方法出口,程序快结束时最后的出口

本地方法栈

当调用到c或者c++的代码时候会用到本地方法栈

程序计数器

存放指令的的地址的地方

方法区

存放静态常量,常量,类元信息 jdk1.8之后叫元空间且使用的是直接内存, 之前叫永久代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值