"In relying on the automatic garbage collector, a Java program also forfeits any significant influence on the garbage collection of its objects."
My guess is the author is pointing out what he feels is a weakness of the Java language- lack of guaranteed control of memory management. My guess is that he is trying to say "please change the language specification for System.gc so that it guarantees any free memory is cleaned up"
Originally posted by sura watthana: "In relying on the automatic garbage collector, a Java program also forfeits any significant influence on the garbage collection of its objects."
Translation (to English hehe) Because Java programs must conform to the language specifications when it comes to garbage collection of its objects, the program cannot explicitly guarantee behaviour of such things as when the objects are garbage collected, nor can the program explicitly mark an object ready for garbage collection. Therefore the program doesn't have much influence on garbage collection behaviours for its objects.
Part of the confusion of this sentence is in the word "forfeits". It's inappropriate, because a program has no choice: it MUST rely on the automatic garbage collection, therefore there is no forfeiting involved.