java 栈堆内存分配

来源:互联网 发布:网络编辑就业前景 编辑:程序博客网 时间:2024/05/08 05:33

java中的栈内存一般存放对象和数组的引用或是存储参数、局部变量、操作数、中间运算结果等,而堆内存一般存放真正的对象和数组,当new出一个对象时,堆内存中存放的是真正的对象,将指向该对象的指针放到栈内存,这就是java中的指针了,当堆中的对象没有指向它的栈变量存在时则认为是垃圾数据,在未来不确定的时间段内会被GC回收掉,这也就是为什么java程序占用内存较多,因为它不能及时释放掉垃圾内存,同时这也是为什么经常会有报OutOfMemoryError了