Java- Garbage Collections Question and Answer

Java- Garbage Collections Question and Answer
1. void start() { 
    A a = new A();
    B b = new B();
    a.s(b); 
    b = null; /* Line 5 */
    a = null;  /* Line 6 */
    System.out.println("start completed"); /* Line 7 */
}

When is the B object, created in line 3, eligible for garbage collection?
  • after line 5
  • after line 6
  • after line 7
  • There is no way to be absolutely certain.
Show Answer
2. class HappyGarbage01
{
    public static void main(String args[])
    {
        HappyGarbage01 h = new HappyGarbage01();
        h.methodA(); /* Line 6 */
    }
    Object methodA()
    {
        Object obj1 = new Object();
        Object [] obj2 = new Object[1];
        obj2[0] = obj1;
        obj1 = null;
        return obj2[0];
    }
}

Where will be the most chance of the garbage collector being invoked?
  • After line 9
  • After line 10
  • After line 11
  • Garbage collector never invoked in methodA()
Show Answer
3. class Bar { }
class Test

    Bar doBar()
    {
        Bar b = new Bar(); /* Line 6 */
        return b; /* Line 7 */
    }
    public static void main (String args[])
    {
        Test t = new Test();  /* Line 11 */
        Bar newBar = t.doBar();  /* Line 12 */
        System.out.println("newBar");
        newBar = new Bar(); /* Line 14 */
        System.out.println("finishing"); /* Line 15 */
    }
}

At what point is the Bar object, created on line 6, eligible for garbage collection?

  • after line 12
  • after line 14
  • after line 7, when doBar() completes
  • after line 15, when main() completes
Show Answer
4. class Test

    private Demo d;
    void start()
    { 
        d = new Demo();
        this.takeDemo(d); /* Line 7 */
    } /* Line 8 */
    void takeDemo(Demo demo)
    {
        demo = null; 
        demo = new Demo();
    }
}

When is the Demo object eligible for garbage collection?
  • After line 7
  • After line 8
  • After the start() method completes
  • When the instance running this code is made eligible for garbage collection.
Show Answer
5. void start() { 
    A a = new A();
    B b = new B();
    a.s(b); 
    b = null; /* Line 5 */
    a = null;  /* Line 6 */
    System.out.println("start completed"); /* Line 7 */
}

When is the B object, created in line 3, eligible for garbage collection?
  • after line 5
  • after line 6
  • after line 7
  • There is no way to be absolutely certain.
Show Answer
6. class HappyGarbage01
{
    public static void main(String args[])
    {
        HappyGarbage01 h = new HappyGarbage01();
        h.methodA(); /* Line 6 */
    }
    Object methodA()
    {
        Object obj1 = new Object();
        Object [] obj2 = new Object[1];
        obj2[0] = obj1;
        obj1 = null;
        return obj2[0];
    }
}

Where will be the most chance of the garbage collector being invoked?
  • After line 9
  • After line 10
  • After line 11
  • Garbage collector never invoked in methodA()
Show Answer
7. class Bar { }
class Test

    Bar doBar()
    {
        Bar b = new Bar(); /* Line 6 */
        return b; /* Line 7 */
    }
    public static void main (String args[])
    {
        Test t = new Test();  /* Line 11 */
        Bar newBar = t.doBar();  /* Line 12 */
        System.out.println("newBar");
        newBar = new Bar(); /* Line 14 */
        System.out.println("finishing"); /* Line 15 */
    }
}

At what point is the Bar object, created on line 6, eligible for garbage collection?
  • after line 12
  • after line 14
  • after line 7, when doBar() completes
  • after line 15, when main() completes
Show Answer
8. class Test

    private Demo d;
    void start()
    { 
        d = new Demo();
        this.takeDemo(d); /* Line 7 */
    } /* Line 8 */
    void takeDemo(Demo demo)
    {
        demo = null; 
        demo = new Demo();
    }
}

When is the Demo object eligible for garbage collection?
  • After line 7
  • After line 8
  • After the start() method completes
  • When the instance running this code is made eligible for garbage collection.
Show Answer
9. public class X
{
    public static void main(String [] args)
    {
        X x = new X();
        X x2 = m1(x); /* Line 6 */
        X x4 = new X();
        x2 = x4; /* Line 8 */
        doComplexStuff();
    }
    static X m1(X mx)
    {
        mx = new X();
        return mx;
    }
}

After line 8 runs. how many objects are eligible for garbage collection?
  • 0
  • 1
  • 2
  • 3
Show Answer
10. public Object m()

    Object o = new Float(3.14F);
    Object [] oa = new Object[l];
    oa[0] = o; /* Line 5 */
    o = null;  /* Line 6 */
    oa[0] = null; /* Line 7 */
    return o; /* Line 8 */
}

When is the Float object, created in line 3, eligible for garbage collection?

  • just after line 5
  • just after line 6
  • just after line 7
  • just after line 8
Show Answer
Questions and Answers for Competitive Exams Various Entrance Test