File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Garbage Collection Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Garbage Collection" Watch "Garbage Collection" New topic

Garbage Collection

deshdeep divakar
Ranch Hand

Joined: Apr 19, 2004
Posts: 91
class I {
private String name;
public String toString() {return name;}
public I(String s) {name = s;}
class J {
private static void m1(I[] a1) {a1 = null;}
public static void main (String[] args) {
I[] a1 = new I[3]; // 1
a1[0] = new I("A"); // 2
a1[1] = new I("B"); // 3
a1[2] = new I("C"); // 4
for (int i = 0; i < a1.length; i++) { //5

After method m1 returns, the object created on which line is eligible for garbage collection?

a. 1
b. 2
c. 3
d. 4
e. Compile-time error
f. Run-time error
g. None of the above

This is a question from previous paper.
Q.When the control will return to m1 ,the array a1 will be null so at line 5 there should be a compile time error?

"Do not be afraid of going slow, be afraid of standing still"
Dirk Schreckmann

Joined: Dec 10, 2001
Posts: 7023
Moving this to the Beginners forum...

[How To Ask Good Questions] [JavaRanch FAQ Wiki] [JavaRanch Radio]
Julian Kennedy
Ranch Hand

Joined: Aug 02, 2004
Posts: 823
Hi Deshdeep,

Consider pass by value versus pass by reference. Java is always ... which one? How does that apply here?

Also, even if the object is null, a) the compiler won't know that (it's a runtime condition) and b) it's a valid state. You'll only get an error (NullPointerException at runtime) if you try to access a field or method on a null object.

I hope that helps to clarify.

deshdeep divakar
Ranch Hand

Joined: Apr 19, 2004
Posts: 91
I agree. Here's the link:
subject: Garbage Collection
jQuery in Action, 3rd edition