当前位置:  技术问答>java相关

关于赋值为null的一点疑问,高分求教

    来源: 互联网  发布时间:2015-02-24

    本文导语:  有 Object a=new Object(); 那么 a=null; 该怎么理解? 是将句柄a的值设为null,还是将句柄a所引用的对象设为null? 此时理论上可以gc了吗? | 我的看法是将句柄a的值设为null,即不指向任何对象。 从理...


Object a=new Object();
那么
a=null;
该怎么理解?
是将句柄a的值设为null,还是将句柄a所引用的对象设为null?
此时理论上可以gc了吗?

|
我的看法是将句柄a的值设为null,即不指向任何对象。
从理论上讲,是可以gc了。
不知道大家有什么不同看法?

|
本来a是指向刚new的一个Object
这时把a指向了null,那么Object对象
没有谁引用了,gc就可以收集它了

|
Object a=new Object();
表示在内存堆里创建一个对象,由系统显示划分出一段内存,然后加载对象到内存空间,同时
句柄a内的指针指向那段内存的地址,然后你就可以操纵内存中的对象.
Object a;
a=null;
表示在内存栽里创建创建一个Object类型的句柄(实际是一指针),而将指针的初始值赋为NULL,
即不指向任何对象.JAVA可以允许空句柄的存在,即一个句柄可以先在载中创建,而没有实际
的对象实体与之关联;但JAVA不允许孤立的对象实体存在,如果存在,编译器不会报错,
但程序运行时,这样的对象就归垃及清理器处理了。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Lists(链表) 成员 assign():给list赋值
  • 如何定义一个全局变量,当我第一次使用,并且赋值以后,就不能再赋值,而成为常量
  • C++ Vectors 成员 assign():对Vector中的元素赋值
  • python赋值操作方法分享
  • C++ Double Ended Queues(双向队列) 成员 Operators:比较和赋值双向队列
  • 对寄存器赋值
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • 用Sed处理后的结果给数组赋值的问题
  • C++ Bitsets 成员 Operators:比较和赋值bitsets
  • 变量赋值问题
  • gdb中使用set给变量赋值的问题
  • QString和char以及string之间的赋值详解
  • float fl = 999.666; 不能这么赋值吗?请问错到哪里了?
  • 让我迷惑的结构体赋值问题
  • sp->callback或snmp_callback函数指针在哪里赋值?
  • 请问各位大虾,如何把一个String赋值给一个Char[]??
  • 请问这种情况怎样赋值??
  • 数组赋值问题,谢谢
  • 图像赋值???
  • 怎样给textarea的控件赋值?
  • shell脚本中的一个赋值问题,各位英雄多谢指教啊!!:)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3