Java automatically calls garbage collector, then why we need manual calls for garbage collection? When should use System.gc()
There isn't a need to call for garbage collection explicitly and calling System.gc() is only a suggestion, the JVM can ignore your suggestion.
The only practical uses I can think of is