开元周游
德国频道
查看: 715|回复: 0
打印 上一主题 下一主题

Java程序开发中的简单内存分析

[复制链接]
跳转到指定楼层
1#
发表于 21.9.2011 10:43:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先内存总体分为了4个部分,包括 stack segment  、heap segment、code segment 、data segment ;
其中我们程序中用关键字new出来的东西都是存放在heap segment;
程序中的局部变量存放在stack segment,这些局部变量是在具体方法执行结束之后,系统自动释放内存资源(而heap segment中的资源需要java垃圾回收机制来处理);
程序中的方法,是内存中的code segment中的,而且是多个对象 共享一个代码空间区域;
static静态变量,需要放在内存中的data segment中,
下面是一个例子程序的内存分析
class Demo{
private int firistNum;
private int secondNum;
public static int temp  =  3;
public Demo(int firstNum,int secondNum){
this.firstNum = firstNum;
this.secondNum = secondNum;
}
}
public class Test{
Public static void main(String [] args){
Demo test = new Demo(3,4);     
}
}
下面是内存空间分配的过程
第二步执行过程
这是整个main方法执行过程中的内存空间分配,分析好内存对以后分析逻辑性错误的程序非常重要。


该贴已经同步到 有容乃大的微博
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点信息

站点统计| 举报| Archiver| 手机版| 小黑屋

Powered by Discuz! X3.2 © 2001-2014 Comsenz Inc.

GMT+1, 22.11.2024 14:59

关于我们|Apps

() 开元网

快速回复 返回顶部 返回列表