String Pool
— это специальная область памяти в Java, где хранятся строковые литералы. Когда создается строка, JVM проверяет пул на наличие той же строки. Если она уже есть, то возвращает существующую ссылку, а не создает новый объект. Это помогает уменьшить потребление памяти и ускорить работу с часто используемыми строками.
Почему пароли предпочтительнее передавать в CharSequence:
- String неизменяемы и хранятся в String Pool, что делает их более уязвимыми к утечкам.
- CharSequence (например,
char[]
) можно изменять и очищать, что безопаснее для хранения паролей, поскольку их можно быстро обнулить.