You cannot force garbage collection in Java - you can only suggest it using System.gc() or Runtime.gc(). The JVM makes the final decision based on memory pressure and its own optimization strategies. Even when gc() runs, it may not collect all eligible objects. This design allows for better performance tuning.