Junior — Middle
Explica o princípio de utilização do StringPool e o seu papel na gestão de strings em Java
sobes.tech IA
Resposta da IA
StringPool em Java é um pool especial de literais de strings que armazena instâncias únicas de strings para economizar memória e melhorar o desempenho.
Quando uma string é criada através de um literal, a JVM verifica se essa string já existe no pool. Se existir, ela retorna uma referência à existente; se não, adiciona uma nova.
Isto permite:
- Evitar a duplicação de strings iguais na memória.
- Comparar strings mais rapidamente por referência (==), se elas vêm do pool.
Exemplo:
String a = "hello";
String b = "hello";
System.out.println(a == b); // true, ambas referenciam o mesmo objeto no StringPool
String c = new String("hello");
System.out.println(a == c); // false, c é um novo objeto fora do pool