1.栈区(stack):由系统的编译器自动的释放,主要用来存放方法中的参数,局部变量等,并且方法中的参数在操作完后,会由编译器自动的释放掉。
2.堆区(heap):主要用来存储我们创建的对象、动态的申请的临时空间等,堆内数据要及时清理。
3.数据区(data seg):也称全局区或者静态区,常用来存放一些全局的东西,比如我们经常用到的静态变量、全局变量等都会存放到数据区,此区域上的东西都被全局所共享。比如我们可以采取类名.的方式就可以访问到方法,这就是所谓的静态方法,存放到数据区的。
4.代码区:存放程序编译后可以执行代码的地方。比如执行代码时写的While语句、if条件语句等,都会存放到此区域。
例如:
我们定义了一个简单的Student类,对其进行属性私有,方法公有,在TestStudent中new出对象,持有引用调用Student类里方法,最终打印输出.
public class TestStudent {
public static void main(String[] args) {
Student s = new Student();
s.setName("kaka");
s.setAge(19);
s.setCode(120);
System.out.println(s.getName() + ":" + s.getAge() + ":" + s.getCode()) ;
System.gc(); //清理队内垃圾
}
}
public class Student {
private String name;
private int age;
private int code;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}