导读:关于java的null比如a=null;以下说法哪种正确?1)a在栈里 其引用的一段内存空间处于堆中,但是这段内存空间虽 关于java的null比如a=null;以下说法哪种正确?1)a在栈里 其引用的一段内存空间处于堆中,但是这段内存空间虽然是存在着的,但是里面没有存储任何内容。2)a在栈里,其没有引用堆中的任何内存空间,即a本身就是一个null一知半解的人闪开 对知识掌握谨...
关于java的null比如a=null;以下说法哪种正确?1)a在栈里 其引用的一段内存空间处于堆中,但是这段内存空间虽
关于java的null
比如a=null;
以下说法哪种正确?
1)a在栈里 其引用的一段内存空间处于堆中,但是这段内存空间虽然是存在着的,但是里面没有存储任何内容。
2)a在栈里,其没有引用堆中的任何内存空间,即a本身就是一个null
一知半解的人闪开 对知识掌握谨慎、严格、准确的人来帮忙解答
fujchcghk
1年前他留下的回答
已收到1个回答
我的陌生世界
网友
该名网友总共回答了15个问题,此问答他的回答如下:采纳率:93.3%
首先java对象的产生是分两步的:
1.在栈区声明对象 如A a,这时声明的内容相当于一个指针(我们姑且认为它是一个指针,也可以理解为引用),当a=null时表明这是一个没有指向任何对象.
2.实例化a,操作如下a=new A()这是在堆区为a分配了空间.
也就是由栈区的a指向堆区的new A()对象.
而a=null则是表明,首先,a是必然在栈区的,a的值是一个地址(假设它真的是一个指针),a=null表示的是a的值是null,与堆区无关
此时的a与堆并无关系,何况java中有一种申请垃圾回收的手段便是将一个对象赋值为null以切断与之前关联对象的关系,因此答案应该是2.
1年前他留下的回答
2
以上就是小编为大家介绍的关于java的null比如a=null;以下说法哪种正确?1)a在栈里 其引用的一段内存空间处于堆中,但是这段内存空间虽 的全部内容,如果大家还对相关的内容感兴趣,请持续关注上海建站网!
标签:
内容声明:网站所展示的内容均由第三方用户投稿提供,内容的真实性、准确性和合法性均由发布用户负责。上海建站网对此不承担任何相关连带责任。上海建站网遵循相关法律法规严格审核相关关内容,如您发现页面有任何违法或侵权信息,欢迎向网站举报并提供有效线索,我们将认真核查、及时处理。感谢您的参与和支持!