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