Junior — Middle
¿Cómo se crean y gestionan los objetos en el pool de cadenas en Java?
sobes.tech AI
Respuesta de la IA
En Java, el pool de cadenas (String Pool) es un lugar especial en la memoria donde se almacenan literales de cadenas únicos para ahorrar memoria y mejorar el rendimiento.
Cuando se crea un literal de cadena, la JVM verifica si esa cadena ya existe en el pool:
- Si existe, se devuelve una referencia al objeto existente.
- Si no, la cadena se añade al pool y se devuelve su referencia.
Los objetos de cadenas creados mediante el constructor new String() no se colocan automáticamente en el pool, pero pueden ser añadidos manualmente mediante el método intern().
Ejemplo:
String s1 = "hello"; // la cadena se coloca en el pool
String s2 = "hello"; // s2 referencia al mismo objeto en el pool
String s3 = new String("hello"); // un nuevo objeto fuera del pool
String s4 = s3.intern(); // s4 referencia al objeto del pool
De esta manera, el pool de cadenas ayuda a evitar la duplicación de cadenas iguales en la memoria.