Одно лишнее if — и объект уезжает в кучу: как C2 решает, каким аллокациям не быть
Пара new в горячем методе может вообще не попасть в кучу — а после безобидного if внезапно вернуть аллокации обратно. Разбираемся, как C2 принимает такие решения, где ломается скалярная замена и как проверить всё это через JMH и диагностические флаги JVM. Разобраться в JVM
https://habr.com/ru/companies/otus/articles/1068474/
#Java #JVM #HotSpot #C2 #Escape_Analysis #скалярная_замена #JITкомпиляция #аллокации_памяти #оптимизация_производительности #JMH