This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
In the following code, how many objects will be eligible for garbage collection on the line with the comment //here
public class BettyAck { public static void main(String argv[]){ BettyAck b =new BettyAck(); } public BettyAck() { Integer x = new Integer(10); findOut(x); Integer y = new Integer(99); Integer z = y; z = null; findOut(y); //here } public void findOut(Integer y){ y = null;
} }
i'm jus not able to get it,can n e plzzz explain it to me
There are only three object created in this program. One is created in main() from the BettyAck class. The other two are created in the constructor for BettyAck from the Integer class. None of them will be avaiable for garbage collection since there are still references to all the objects. As soon as execution returns from the constructor back to main(), the two Integer objects will be available for garbage collection since all of the references to these two objects are local to the constructor. If this doesn't make sense, I suggest that you add System.out.println() calls to see what the values are of each variable at different parts in the code.