Встречается на собеседованиях • сегодня

Что такое String.intern()

String.intern() — это метод, который помещает строку в пул строк (String Pool), если её там нет, и возвращает ссылку на строку из пула. Это позволяет экономить память, так как одинаковые строки будут ссылаться на один объект.

Пример:

java
String s1 = new String("hello").intern();
String s2 = "hello";
System.out.println(s1 == s2); // true, т.к. обе ссылки указывают на один объект в пуле

Особенности:

  • Работает только для строковых литералов и явно интернированных строк.
  • Может замедлить работу при частом вызове из-за проверок в пуле.
  • Пул строк находится в heap, но до Java 7 был в PermGen.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы