Как работает String Pool в JVM
Строки в JVM хранятся в специальной области памяти в куче – string pool. Благодаря этому получается неплохо экономить память. Но есть и неприятное последствие – нельзя гарантированно удалить строки из памяти приложения, что ведет к рискам безопасности.
В статье на примере детально разбирается, как работает string pool, и предлагается работать с ByteBuffer вместо String для секьюрных данных.