Garbage Collections Questions and Answers

Take Exam

Garbage Collection in Java is a critical concept for memory management and performance optimization. This topic includes Java programming questions and answers related to JVM memory models, automatic garbage collection, and reference handling. Practicing garbage collection questions with answers helps learners prepare for TCS, Accenture, Infosys, and other software company interviews. A solid understanding of garbage collection enables developers to write efficient Java programs, reducing memory leaks and improving application stability.

Garbage Collections

Showing 10 of 32 questions

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report
Questions and Answers for Competitive Exams Various Entrance Test