Sobes.tech
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