Garbage Collections

1

Which statement is true?

A. Calling Runtime.gc() will cause eligible objects to be garbage collected.
B. The garbage collector uses a mark and sweep algorithm.
C. If an object can be accessed from a live thread, it can't be garbage collected.
D. If object 1 refers to object 2, then object 2 can't be garbage collected.

2

Which statement is true?

A. Memory is reclaimed by calling Runtime.gc().
B. Objects are not collected if they are accessible from live threads.
C. An OutOfMemory error is only thrown if a single block of memory cannot be found that is large enough for a particular requirement.
D. Objects that have finalize() methods always have their finalize() methods called before the program ends.

3

Which statement is true?

A. All objects that are eligible for garbage collection will be garbage collected by the garbage collector.
B. Objects with at least one reference will never be garbage collected.
C. Objects from a class with the finalize() method overridden will never be garbage collected.
D. Objects instantiated within anonymous inner classes are placed in the garbage collectible heap.

4

Which statement is true?

A. Programs will not run out of memory.
B. Objects that will never again be used are eligible for garbage collection.
C. Objects that are referred to by other objects will never be garbage collected.
D. Objects that can be reached from a live thread will never be garbage collected.

5

What allows the programmer to destroy an object x?

A. x.delete()
B. x.finalize()
C. Runtime.getRuntime().gc()
D. Only the garbage collection system can destroy an object.