Это полностью зависит от алгоритма сборщика мусора, который вы используете в вашем конкретном JDK. Все, что вы можете гарантировать в отношении сборки мусора, это то, что если JVM выдает OutOfMemoryError
, сборщик мусора приложил все усилия, чтобы собрать каждый недостижимый / слабодоступный объект. Даже System.gc()
ничего не гарантирует, бездействие - полностью легальная реализация.
Следовательно, в этом свете я не знаю, имеет ли ваш вопрос какой-либо вес. Если вы действительно верите, что вам нужно настроить сборщик мусора, это поможет, если вы опубликуете проблемы, с которыми вы столкнулись, и данные профилирования, которые заставят вас поверить, что проблема заключается в низкой производительности GC.
Помимо этого, сборщик мусора должен рассматриваться как черный ящик. Логика его реализации на удивление сложна, и есть очень хороший шанс, что он лучше вас знает, что он должен делать в любой момент времени. 99 из 100 попыток заставить сборщик мусора вести себя особым образом снизят производительность, а не увеличат ее.