Здравствуйте, Shabi, Вы писали:
S>Решил проверить как оно на практике.
твой пример некорректен, т.к. демонстрирует использование локальных переменных
реальные пулы характерны же тем, что объекты в них переживают конкретный метод и, в конце концов, попадают в область долгоживущих объектов.
далее, при проектированиях пулов встаёт вопрос: является ли количество объектов в пуле фиксированным, или пул будет резиновым?
если пул будет резиновым, то какие-то объекты собирать придётся, и GC будет напрягаться, перепроверяя объекты в области памяти долгоживущих объектов (локальные переменные и локальные объекты, по которым компилятор смог убедиться, что они не выйдут за границы метода, собираются просто)
а если пул нерезиновый, а фиксированный, то тогда он вообще как пул не нужен — достаточно обычных static final-переменных или их более высокопаттерновых аналогов