日期:2014-05-20  浏览次数:20646 次

堆与栈怎么区分存什么
1.Bean   bean   =   null;     //应该是bean还是null存在堆中还栈中
    bean   =   new   Bean();   //应该是bean还是new   出来的对象存在堆中还栈中

2.Bean   bean   =   new   Bean();     //同上,什么存在什么中

3.int   a   =   3;      
   
4.int   a;     //同2
    a   =   3;     //同2

3与4又是什么区别呢

------解决方案--------------------
前提条件(看看堆与堆栈的区别)

1.Bean bean = null;
bean = new Bean();
两个bean都存在于堆栈中,堆栈位于通用RAM


2.Bean bean = new Bean();
bean存在于堆栈中

3.int a = 3;

4.int a; //同2
a = 3; //同2

a存在堆栈中,数字3存在堆中


堆用于存放所有的java对象,堆栈中含有堆栈指针,堆栈中存放对象的引用。。。。。