Я хотел бы повторно использовать экземпляры не-потоковых безопасных классов по соображениям производительности в Servlet. У меня есть два варианта,Использование ThreadLocal против HashMap с потоком в качестве ключа
- использование ThreadLocal где в Java ухаживает делает управление экземпляром для каждого потока
- использовать статический HashMap, который использует тему как ключ HashMap и экземпляры управляется на этом уровне
При использовании подхода ThreadLocal существуют потенциалы для утечек памяти esp в окружении сервлета. Из-за этого я думаю об использовании второго варианта, мне было интересно, есть ли у кого-нибудь опыт использования этого подхода и какие-то ошибки в использовании этого же?
'ThreadLocal' _is_ a' HashMap' с нитью в качестве ключа. –
Вероятно, существует больше возможностей для утечек памяти с помощью вашей статической 'HashMap'. –
@JimGarrison реализация ThreadLocal ** значительно сложнее, чем это. – vemv