一道关于垃圾收集器的面试题 面试题java 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很多人都说这题错的new 了3个Object()对象,abc只是对象的引用第四行a指向了b,那么a原来指向的对象就没有引用再指向它,而且后面也没有再引用到,所以第四行应该是会回收这个原本是a指向的空置对象 符合垃圾收集器收集的是对象实体,而不是引用aobj,bobj,cobj是引用,在栈中,生命周期结束后其地址被回收,与垃圾收集器无关1,2,3那三个new Object()才是对象实体,失去所有引用的对象实体可能会被回收4执行后第一个Object不可能再被引用7执行后第三个Object不可能再被引用所以如果非要选答案的话应该选1和3 多谢楼上的解答,我也是觉得第一个Object对象会被回收。 在main函数中,第四个new Object()没有赋给任何对象,产生的内存没有被任何变量引用,java虚拟机的垃圾处理器不能自动清理,除非内存不够才会开始清理,只有当你将new object()赋给某个变量的时候垃圾处理器才会自动清理,当然你可以用System.gc()去手动回收垃圾!java初学者,刚看的教程上老师这么说的 是欧立奇等人“编”的那本吗?一群不懂java的人胡凑起来的,建议别看。 就是那本,书中确实有不少地方讲得不太清楚。讲得不清楚还算好的,最怕瞎扯淡。这本书里的“在Java的内存分配中,对象和实例是不同的,前者分配在内存堆里,后者分配在堆栈里” http://www.dushu.com/showbook/101617/1051958.html“在Java中有两个非常特殊的变量:this和super,这两个变量在使用前都是不需要声明的。this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。super变量是直接指向超类的构造函数,用来引用超类中的变量和方法。因此它们都是非常有用的变量。” http://www.dushu.com/showbook/101617/1051963.html SCJP考题一道:按位异或 运算符 与boolean值 如何让JTextPane自动紧挨着 有关在Graphics在JFrame 中画线的问题! 谁能给我介绍一下双缓冲技术?也可以拿事例讲解!谢谢大家帮助!!! 问个简单的问题,谢谢帮忙. DX们来看看,关于IO的问题 一个输出方法问题? 困惑!不解! java调用delphi dll的 [out param: WideString]参数问题 hibernate翻转生成POJO问题 关于“==”比较疑问 猜拳游戏求加一个while大循环,一直执行它!
new 了3个Object()对象,abc只是对象的引用
第四行a指向了b,那么a原来指向的对象就没有引用再指向它,而且后面也没有再引用到,所以第四行应该是会回收这个原本是a指向的空置对象
aobj,bobj,cobj是引用,在栈中,生命周期结束后其地址被回收,与垃圾收集器无关
1,2,3那三个new Object()才是对象实体,失去所有引用的对象实体可能会被回收
4执行后第一个Object不可能再被引用
7执行后第三个Object不可能再被引用
所以如果非要选答案的话应该选1和3
讲得不清楚还算好的,最怕瞎扯淡。
这本书里的“在Java的内存分配中,对象和实例是不同的,前者分配在内存堆里,后者分配在堆栈里” http://www.dushu.com/showbook/101617/1051958.html
“在Java中有两个非常特殊的变量:this和super,这两个变量在使用前都是不需要声明的。this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。super变量是直接指向超类的构造函数,用来引用超类中的变量和方法。因此它们都是非常有用的变量。” http://www.dushu.com/showbook/101617/1051963.html