Альтернативы пула объектов в Java
Я знаю, что такое Object Pooling в Java
Мне было интересно узнать, есть ли лучшие альтернативы, которые можно использовать в распределенной среде, или, в частности, с сокетами сервера и сокетами соединения с базой данных.
Любая информация или ссылки будут полезны.
Спасибо,
Ivard
3 ответа
Пул объектов в целом больше не является хорошей идеей в Java, поскольку в последних версиях JVM создание объектов (и GC) является чрезвычайно дешевым и безопасным (гораздо более безопасным, чем попытка сделать поток объектов в потоке безопасным в параллельной среде...).
Это разумно только в том случае, если конкретные объекты очень дороги для создания и / или потребления большого количества ресурсов, таких как пул соединений. В указанной вами ветке содержатся полезные советы по поиску решений (однако, из-за отсутствия личного опыта я не могу порекомендовать ни одного из них).
Лучшей альтернативой для распределенной среды может быть использование сервера приложений, такого как JBoss AS, для удовлетворения ваших потребностей в пуле.
Я уверен (но не имею опыта), что среда Spring предоставляет аналогичные возможности.
В некоторых серверах приложений, таких как JBoss, используется JCA для управления подключением к базе данных и пулами сокетов.