(java || kotlin) && devOps
G1 - долгая дорога к покорению мира)
Недавно вышла новая Java - 27-я.
Не LTS, изменений не так много, большая часть - мелкие оптимизации. Скорость работы Java - это понятная боль, не зря же появился тот же Rust. Где, кстати, нет Garbage Collector, но это уже другая история.
Так вот. Одно из значимых изменений 27 версии - G1 стал сборщиком мусора по умолчанию.
...
Так, а раньше разве не он был?
Смотрим историю G1.
Появился в Java 6.
Стал выбором по умолчанию в Java 9.
Но ... не для всех.
А только для серверных окружений. Что под этим понимается?
Не менее 2 ядер и 2 Гб памяти, доступных приложению. Т.к. в условиях ограниченных ресурсов Serial GC был эффективнее.
И вот в новой Java 27, вышедшей в сентябре 2026 года, разработчики допилили G1 настолько, что он включается сейчас по умолчанию для любых окружений.
9 лет прошло.
Такой интересный факт.
А выводы такие.
1) Java - это совместимость, это не быстро, и мы про это знаем)
2) Параметры JVM для высоконагруженных приложений лучше задавать явно. И включать в процедуру НТ.
#java #jdk #gc
106 ·