Garbage Collections Questions and Answers updated daily – Java

8 Garbage Collections Questions and answers section with explanation for various online exam preparation, various interviews, Java Garbage Collections online test. Garbage Collections Questions with detailed description, explanation will help you to master the topic.

Garbage Collections Questions

1. What allows the programmer to destroy an object x?

Correct Ans:Only the garbage collection system can destroy an object.
Option D is correct. When an object is no longer referenced, it may be reclaimed by the garbage collector. If an object declares a finalizer, the finalizer is executed before the object is reclaimed to give the object a last chance to clean up resources that would not otherwise be released. When a class is no longer needed, it may be unloaded.

Option A is wrong. I found 4 delete() methods in all of the Java class structure. They are:

delete() - Method in class : Deletes the file or directory denoted by this abstract pathname.
delete(int, int) - Method in class java.lang.StringBuffer : Removes the characters in a substring of this StringBuffer.
delete(int, int) - Method in interface javax.accessibility.AccessibleEditableText : Deletes the text between two indices
delete(int, int) - Method in class : javax.swing.text.JTextComponent.AccessibleJTextComponent; Deletes the text between two indices
None of these destroy the object to which they belong.

Option B is wrong. I found 19 finalize() methods. The most interesting, from this questions point of view, was the finalize() method in class java.lang.Object which is called by the garbage collector on an object when garbage collection determines that there are no more references to the object. This method does not destroy the object to which it belongs.

Option C is wrong. But it is interesting. The Runtime class has many methods, two of which are:

getRuntime() - Returns the runtime object associated with the current Java application.
gc() - Runs the garbage collector. Calling this method suggests that the Java virtual machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse. When control returns from the method call, the virtual machine has made its best effort to recycle all discarded objects. Interesting as this is, it doesn't destroy the object.

class X2 
    public X2 x;
    public static void main(String [] args) 
        X2 x2 = new X2();  /* Line 6 */
        X2 x3 = new X2();  /* Line 7 */
        x2.x = x3;
        x3.x = x2;
        x2 = new X2();
        x3 = x2; /* Line 11 */
after line 11 runs, how many objects are eligible for garbage collection?

Correct Ans:2
This is an example of the islands of isolated objects. By the time line 11 has run, the objects instantiated in lines 6 and 7 are referring to each other, but no live thread can reach either of them.

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?

Fresherslive Current Affairs

Correct Ans:just after line 7
Option A is wrong. This simply copies the object reference into the array.

Option B is wrong. The reference o is set to null, but, oa[0] still maintains the reference to the Float object.

Option C is correct. The thread of execution will then not have access to the object.

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 */
    static X m1(X mx) 
        mx = new X();
        return mx;
After line 8 runs. how many objects are eligible for garbage collection?

Correct Ans:1
By the time line 8 has run, the only object without a reference is the one generated as a result of line 6. Remember that "Java is pass by value," so the reference variable x is not affected by the m1() method.

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?

Fresherslive Current Affairs

Correct Ans:When the instance running this code is made eligible for garbage collection.
Option D is correct. By a process of elimination.

Option A is wrong. The variable d is a member of the Test class and is never directly set to null.

Option B is wrong. A copy of the variable d is set to null and not the actual variable d.

Option C is wrong. The variable d exists outside the start() method (it is a class member). So, when the start() method finishes the variable d still holds a reference.

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 */
        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?

Correct Ans:after line 14

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?

Correct Ans:Garbage collector never invoked in methodA()
Option D is correct. Garbage collection takes place after the method has returned its reference to the object. The method returns to line 6, there is no reference to store the return value. so garbage collection takes place after line 6.

Option A is wrong. Because the reference to obj1 is stored in obj2[0]. The Object obj1 still exists on the heap and can be accessed by an active thread through the reference stored in obj2[0].

Option B is wrong. Because it is only one of the references to the object obj1, the other reference is maintained in obj2[0].

Option C is wrong. The garbage collector will not be called here because a reference to the object is being maintained and returned in obj2[0].

void start() {  
    A a = new A(); 
    B b = new 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?

Correct Ans:There is no way to be absolutely certain.

Are you seeking for good platform for practicing Garbage Collections questions in online. This is the right place. The time you spent in Fresherslive will be the most beneficial one for you.

Online Test on Garbage Collections @ Fresherslive

This page provides important questions on Garbage Collections along with correct answers and clear explanation, which will be very useful for various Interviews, Competitive examinations and Entrance tests. Here, Most of the Garbage Collections questions are framed with Latest concepts, so that you may get updated through these Garbage Collections Online tests. Garbage Collections Online Test questions are granted from basic level to complex level.

Why To Practice Garbage Collections Test questions Online @ Fresherslive?

Garbage Collections questions are delivered with accurate answer. For solving each and every question, very lucid explanations are provided with diagrams wherever necessary.

Practice in advance of similar questions on Garbage Collections may improve your performance in the real Exams and Interview.

Time Management for answering the Garbage Collections questions quickly is foremost important for success in Competitive Exams and Placement Interviews.

Through Fresherslive Garbage Collections questions and answers, you can acquire all the essential idea to solve any difficult questions on Garbage Collections in short time and also in short cut method.

Winners are those who can use the simplest method for solving a question. So that they have enough time for solving all the questions in examination, correctly without any tense. Fresherslive provides most simplest methods to answer any tough questions. Practise through Fresherslive test series to ensure success in all competitive exams, entrance exams and placement tests.

Why Fresherslive For Garbage Collections Online Test Preparation?

Most of the job seekers finding it hard to clear Garbage Collections test or get stuck on any particular question, our Garbage Collections test sections will help you to success in Exams as well as Interviews. To acquire clear understanding of Garbage Collections, exercise these advanced Garbage Collections questions with answers.

You're Welcome to use the Fresherslive Online Test at any time you want. Start your beginning, of anything you want by using our sample Garbage Collections Online Test and create yourself a successful one. Fresherslive provides you a new opportunity to improve yourself. Take it and make use of it to the fullest. GOODLUCK for Your Bright Future.


Get Unlimited Mock Tests

Unlock all 200+ Mock Tests series

12 Month Pass
Rs. 399
for 365 days

6 Month Pass
Rs. 199
for 180 days

One Month Pass
Rs. 99
for 30 Days

***Crack All Banking | Railways | SSC | Insurance | More Govt Exams***

FreshersLive - No.1 Job site in India. Here you can find latest 2020 government as well as private job recruitment notifications for different posts vacancies in India. Get top company jobs for both fresher and experienced. Job Seekers can get useful interview tips, resume services & interview Question and answer. Practice online test free which is helpful for interview preparation. Register with us to get latest employment news/rojgar samachar notifications. Also get latest free govt and other sarkari naukri job alerts daily through E-mail.