java程序在内存中的分布
来源:互联网 发布:淘宝详情页图片分辨率 编辑:程序博客网 时间:2024/06/06 12:49
java程序在内存中的分布
标签: java
2016-04-11 10:44 212人阅读 评论(0)收藏举报
分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
在Java中,java程序在内存中的分布可分为三大模块:堆内存、栈内存和方法区。
堆内存:用于内存空间的申请;用于存放new创建的对象和数组,jvm会定期进行检查,如果不被引用,则回收。
栈内存 : 保存本地变量的地址;是由编译器自动分配释放的。在具体方法执行完毕后,系统会自动释放jvm内存资源。
方法区:方法区也叫数据区或共享区。用于存放静态变量、静态方法以及代码的区域,不释放。
public class Demo{public void main(String[] args){int num = 10;Test test = new Test();test.show();}}class Test{int a = 2;public void show(){System.out.println(a);}}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
如果数据类型是基本数据类型,会直接在栈内开辟空间存储量,例如:num=10;会在栈内存中开辟一个num的空间。存储一个值是10。
但是对于一个引用类型的变量,会开辟一个空间然而存储的是一个内存的首地址,指向堆内存中的这块地址,引用这个对象,因此叫做引用类型、
我们创建了Test对象,接下来调用test的show()方法,会在栈内存中,开辟一个show()方法的栈帧,先指向堆内存中Test()对象,然后指向存储在方法区内的show()方法代码,执行完,show()栈内存将会销毁该栈帧。
0 0
- java程序在内存中的分布
- java程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- 程序在内存中的分布
- Harris角点两篇比较好的文章
- Cent OS 6.5 安装JDK并进行环境变量的配置
- java 动态代理
- WebGIS中自定义互联网地图局部注记的一种方案
- hibernate+mysql 分页查询出现错误
- java程序在内存中的分布
- Android类似支付宝支付框UI组件
- 配置SharePoint服务器时SID相同的解决方法。
- CodeForces
- 介绍android-studio如何安装
- SSO 单点登录实现原理解析
- springboot Test 自动配置注解详单
- redis集群主流架构方案分析
- 遗传算法及其应用简介