Sobes.tech
Senior

When should you avoid using non-generational GC?

sobes.tech AI

Answer from AI

The non-generational garbage collector (GC) in Java is a classic approach where the entire heap is processed as a whole without division into generations. It is not recommended to use in the following cases:

  • When there is a large volume of objects with different lifetimes. The generational GC is optimized for frequent removal of young objects and infrequent removal of old objects, which increases performance.
  • In low-latency systems, where GC pauses should be minimal. Non-generational GC usually causes longer pauses.
  • In applications with intensive creation and deletion of objects, where generational GC is more effective due to the division into young and old generations.

Thus, non-generational GC is suitable for simple applications with small memory size and low load, but not for high-load and scalable systems.