`
农村哥们
  • 浏览: 293408 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于垃圾回收的一道面试题的分析,何时对象成为GC的目标?

阅读更多
第三行生成的object在第几行执行后成为GC的对象?
  1. public class MyClass{   
  2.     public StringBuffer aMethod(){   
  3.         StringBuffer sf = new StringBuffer("Hello");   
  4.         StringBuffer[] sf_arr = new StringBuffer[1];   
  5.         sf_arr[0] = sf;   
  6.         sf = null;   
  7.         sf_arr[0] = null;   
  8.         return sf;   
  9.     }   
  10. }  
public class MyClass{
    public StringBuffer aMethod(){
        StringBuffer sf = new StringBuffer("Hello");
        StringBuffer[] sf_arr = new StringBuffer[1];
        sf_arr[0] = sf;
        sf = null;
        sf_arr[0] = null;
        return sf;
    }
}

答案为啥是第七行啊?

在第5行,af_arr[0] = sf。 此时系统有2个引用指向了 sf对象。
所以我们必须将2个引用都清楚,才能让GC知道这个对象是没人使用的了,可以被垃圾回收了。
所以是第7行。
分享到:
评论

相关推荐

    垃圾回收机制面试题·.docx

    这种算法基于“可达性分析”理论,即从一组“根”对象开始向下搜索,沿着从根对象到目标对象的引用链,所有能被根对象直接或间接引用的对象都被视为可达的,不可达的对象被视为垃圾。 #### 四、垃圾回收算法 **1. ...

    【Java面试题】Java垃圾回收机制

    【Java面试题】Java垃圾回收机制

    java垃圾回收技术,面试会问

    在现代软件开发中,Java作为一种广泛使用的编程语言,其垃圾回收机制(Garbage Collection, GC)是面试和技术交流中经常提及的话题之一。尤其对于那些深入研究Java内存管理和性能优化的技术人员来说,理解垃圾回收的...

    JAVA垃圾回收面试个人总结.doc

    垃圾收集器需要解决三个核心问题:哪些对象需要回收、何时回收以及如何回收。不同的垃圾收集算法有不同的实现策略。例如: 1. 引用计数器法,每个对象都有一个计数器,当引用增加时计数器加1,引用消失时减1。当...

    一道关于项目整合的面试题

    一道关于项目整合的面试题

    golang 50k 高阶面试题

    - 垃圾收集器(Garbage Collector,GC):负责回收垃圾对象的组件,是JVM内存管理的重要部分。 - 垃圾回收根(GC Root):在对象图中起始点,用于标记阶段查找活跃对象的集合。 面试者在准备面试时应该熟悉CMS的每...

    需求分析师面试题

    【需求分析师面试题】知识点详解: 1. 需求收集与分析: 需求分析师在面试中经常被问及如何有效地收集需求。这涉及到与不同干系人的沟通技巧,包括用户、管理层、技术人员等,理解他们的期望和问题。面试者应展示...

    腾讯PHP面试题_腾讯php面试题_

    php 的垃圾回收机制 PHP 可以自动进行内存管理,清除不需要的对象。 PHP 使用了引用计数 (reference counting) GC 机制。 每个对象都内含一个引用计数器 refcount,每个 reference 连接到对象,计数器加 1。当 ...

    各大公司的程序员面试试题

    垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分...

    最新各大公司企业真实面试题-Java面试题

    "j.doc"和"Java陷阱一箩筐----面试题集.doc"很可能包含了面试中常见的陷阱问题,比如Java内存模型、垃圾回收机制、并发编程中的同步与锁,以及优化技巧等。这些问题旨在测试求职者在实际开发中解决问题的能力。 ...

    牛客大数据面试题集锦+答案,共523道,46W+字。大厂必备

    大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...

    Java面试题、JVM面试题、多线程面试题

    以上只是Java面试中关于这些主题的一些基本问题和概念,实际面试中可能会深入探讨到更多细节,如并发模型、内存溢出分析、锁的实现方式等。对于Java开发者来说,理解和掌握这些知识是至关重要的。

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    面试题面试题面试题34

    它通过引用计数和代际策略来确定何时回收,分为新生代、老年代和持久代,针对不同年龄的对象进行不同的回收策略。 6. **Application Pool**: IIS中的应用程序池(Application Pool)是独立的进程,用于承载多个...

    搞定面试官:咱们从头到尾再说一次 Java 垃圾回收(csdn)————程序.pdf

    Java垃圾回收机制是Java虚拟机(JVM)中一个至关重要的功能,它负责自动...理解并掌握这些垃圾回收的概念和机制对于Java开发者来说至关重要,尤其是在面试中,能够帮助你更好地解答关于JVM内存管理和性能优化的问题。

    各大软件公司C#笔试面试题

    - **内存管理**:解释垃圾回收的工作原理,何时会发生垃圾回收? - **多线程**:如何实现线程同步?死锁是什么,如何避免? - **设计模式**:举例说明工厂模式、单例模式和观察者模式的应用。 - **泛型**:泛型...

    面向对象面试题

    Java面向对象的面试题

    java面试题,J2EE面试题 笔试题

    最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、...

    Java面试题基础篇

    Java 面试题基础篇是面向Java开发人员的一份详细的面试题库,涵盖了 Java 的基础知识点,包括面向对象编程、变量作用域、事件委托机制、垃圾回收机制、序列化、排序算法、继承、多态、内部类、Collection 框架等。...

    Java面试题-内存+GC+类加载器+JVM调优.pdf

    "Java面试题-内存+GC+类加载器+JVM调优" 在 Java 面试中,内存、GC、类加载器和 JVM 调优是非常重要的知识点,本文将对这些知识点进行详细的解释和分析。 一、Java 内存模型 在 Java 中,内存主要分为两部分:堆...

Global site tag (gtag.js) - Google Analytics