Вдохновленный комментариями к этому вопросу, я уверен, что Java String
интернирован во время выполнения, а не компилирует время - несомненно, только тот факт, что классы могут быть скомпилированы в разное время, но все равно укажут на ту же ссылку во время выполнения.
Я не могу найти никаких доказательств, подтверждающих это. Кто-нибудь может это оправдать?