Junior — Middle
O que é uma string literal pool e para que serve na gestão de memória?
sobes.tech IA
Resposta da IA
O pool de strings (String Pool) é uma área especial de memória em Java onde objetos de strings únicos são armazenados. Quando um literal de string é criado, a JVM verifica se essa string já existe no pool. Se existir, ela retorna uma referência a ela; se não, adiciona uma nova.
Para que serve isso?
- Economia de memória: strings iguais são armazenadas uma única vez.
- Melhoria de desempenho: comparação de strings por referência (==) é possível para literais do pool.
Exemplo:
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true, ambas as referências apontam para o mesmo objeto no pool
String s3 = new String("hello");
System.out.println(s1 == s3); // false, s3 é um novo objeto fora do pool
Assim, o pool de strings ajuda a gerenciar a memória de forma eficiente ao trabalhar com strings.