Здравствуйте, Shabi, Вы писали:
S>конкретно в этом примере без повторного использования объектов напрягается VM, и безовсяких условий. сделать с этим ничего нельзя.
Конкретно в этом примере JVM вообще не напрягается. См. мой
постАвтор: denis.zhdanov
Дата: 09.08.07
про отпимизации компилятора.
S>повторное использование объектов приводит к их попаданию в коллекцию долгоживущих, что при некоторых обстаятельствах может привести напряжению в работе GC. как с этим бороться понятно. нужно стараться по возможности следить и возвращвть объекты после использования.
Реиспользование объектов перпендикулярно их перемещнию по heap generations. На это влият только статус объекта во время garbage collection (strongly/softly/weakly/phantomly reachable/unreachable). GC будет напрягаться от любой политики неправильного heap management, т.е. если ты задашь маленький edem и будешь клепать короткоживущие объекты без передыха, хорошего ничего не выйдет.
S>Но, повторю, при использовании внутрипотоковых пуллов объектов выигрышь по производительности гораздо серьезнее — в несколько сотен раз.
Внутрипотоковый пул называется ThreadLocal и он как-то не особо связан с разговором о разнице в производительности между lock contended pool и new object allocation.