Back to questions
Junior — Middle
71
Объясните принцип использования StringPool и его роль в управлении строками в Java
Companies where asked
Платформа
Answer from AI
sobes.tech AI
StringPool в Java — это специальный пул строковых литералов, который хранит уникальные экземпляры строк для экономии памяти и повышения производительности.
Когда создаётся строка через литерал, JVM проверяет, есть ли такая строка в пуле. Если есть — возвращает ссылку на существующую, если нет — добавляет новую.
Это позволяет:
- Избежать дублирования одинаковых строк в памяти.
- Быстрее сравнивать строки по ссылке (==), если они из пула.
Пример:
String a = "hello";
String b = "hello";
System.out.println(a == b); // true, обе ссылаются на один объект в StringPool
String c = new String("hello");
System.out.println(a == c); // false, c — новый объект вне пула