Источник — https://dzone.com/articles/jvm-and-garbage-collection

С положительной стороны:

  • Разработчик может гораздо меньше беспокоиться об управлении памятью и сосредоточиться на реальном решении проблем. Хотя утечки памяти все еще технически возможны, они встречаются гораздо реже.
  • Сборщик мусора имеет множество интеллектуальных алгоритмов управления памятью, которые работают автоматически в фоновом режиме. Вопреки распространенному мнению, они часто могут лучше определять, когда лучше всего выполнять сборку мусора, чем при сборе вручную.

С отрицательной стороны

  • Когда происходит сборка мусора, это влияет на производительность приложения, особенно замедляя или останавливая его. В так называемых сборках мусора «Останови мир» остальная часть приложения будет зависать, пока это происходит. Это может быть неприемлемо в зависимости от требований приложения, хотя настройка GC может свести к минимуму или даже устранить влияние.

Когда происходит GC, необходимо полностью приостановить потоки в приложении, пока происходит сбор. Это известно как Остановите мир. Для большинства приложений длинные паузы неприемлемы. В результате важно настроить сборщик мусора, чтобы свести к минимуму влияние сборок и сделать его приемлемым для приложения.

  • Хотя с помощью сборщика мусора можно выполнять множество настроек, вы не можете указать, когда и как приложение будет выполнять сборку мусора.