Java程序开发中的简单内存分析
?????? 在Java开发过程中,对内存进行分析是十分重要的一步,分析好内存对以后分析逻辑性错误的程序非常重要。
?
?????? 首先内存总体分为了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方法执行过程中的内存空间分配,分析好内存对以后分析逻辑性错误的程序非常重要。
?