Java的数据管理分为栈内存和堆内存:
- 栈内存用来存放基本类型的变量和引用变量;
- 堆内存用来存储java中的对象,存放由new创建的对象或数组。
- 栈存取速度比堆快,栈内存远小于堆内存。
如:int[] a;//栈中(指向堆的首地址)
a=new int[5];//堆中
Point p1;p1=new Point();
Java垃圾回收机制:只回收堆中分配的内存,由垃圾回收器自动进行回收,程序员不能直接设置。
若 p1=p2; //p1、p2指向同一对象,Java垃圾回收器会自动发现并清除程序中没有任何引用变量指向的对象。