Java之中类属于引用数据类型,引用数据类型的最大困难之处在于要进行内存的管理,同时在进行操作的时候也会有内存关系的一个变化,因此,我们针对程序的内存关系进行一些简单的分析。
首先给出两块最为常用的空间:堆内存:保存的是对象的具体信息,在程序之中堆内存的开辟是通过new来完成的;栈内存:保存的是一块堆内存的地址,即通过地址找到堆内存,而后找到对象内容。
比如我们有如下代码:
public class Person{
String name;
int age;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public static void main(String args[]){
Person per=new Person();
per.name="张三";
per.age=18;
System.out.println(per.getName());
}
}
上面呢,我们使用的是声明并实例化对象;下面我们分步完成对象的创建:
public static void main(String args[]){
Person per=null;
per=new Person();
per.name="张三";
per.age=18;
System.out.println(per.getName());
}
这时内存分析如下: