JVM内存解析

运行时数据区由.class文件到.java文件的加载内存JVM解析在这里插入图片描述虚拟机栈,平时提到的栈结构,局部变量(声明在方法内,形参,代码块内,构造器形参,构造器内部变量)存在栈结构,局部变量指的是函数内部的变量。方法内的变量都是局部变量。先进后出
堆:new出来的结构加载在堆空间,数组,String,非static属性,先进先出。
方法区:类的加载信息(类的方法,类的代码块),常量池(常量),静态域(静态变量)。

堆 Heap 此内存区域的唯一目的就是 存放对象实例 几乎所有的对象实例都在这里分配内存 。 这一点在Java 虚拟机规范中的描述是:所有的对象实例以及数组都要在堆上分配 。
 栈 Stack 是指虚拟机栈 。 虚拟机栈用于 存储 局部变量 等 。
局部变量表存放了编译期可知长度的各种基本数据类型 boolean 、 byte 、char 、 short 、 int 、 float 、 long 、
double 、 对象引用 reference 类型它不等同于对象本身 是对象在堆内存的首地址 。 方法执行完 自动释放 。
方法区 Method Area 用于 存储已被虚拟机加载的 类信息 、 常量 、 静态变量 、 即时编译器编译后的代码 等数据 。
变量定义和声明:定义为对象分配了内存;声明没有;类似于一个初始化,一个只说了类型没有赋值;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值