В течение некоторого времени я пытаюсь понять, как работает String, и я не понимаю аспект безопасности.
"В случае, если String не является неизменяемым, это может привести к серьезной угрозе безопасности. Я имею в виду, что кто-то может получить доступ к любому файлу, для которого у него есть авторизация, а затем может изменить имя файла намеренно или случайно и получить доступ к этому файлу. Из-за неизменности вам не нужно беспокоиться об угрозах такого рода. Эта причина также горит тем, почему String является окончательной в Java, делая java .lang.String final, Java дизайнер гарантировал, что никто не отменяет поведение класса String. "
https://javarevisited.blogspot.com/2010/10/why-string-is-immutable-or-final-in-java.html
Строка является неизменной, поэтому новый объект создается, когда мы пытаемся редактировать и переменная типа String имеет новую ссылку. Если мы можем обменяться ссылками, как это безопасно? Кто-то может сделать это и получить доступ к тому, на что у него нет прав. Или, может быть, я не правильно понимаю это?
Редактировать: Может быть, я должен перефразировать свой вопрос. Если бы String был изменчивым, как могла бы выглядеть угроза безопасности? Кто-то может получить доступ к пулу строк и изменить значение там и так, например, может быть предоставлен несанкционированный доступ к какому-либо файлу?