Sobes.tech
Junior — Middle

Magyarázza el a Java-ban a sztring pool fogalmát és célját.

sobes.tech MI

Válasz az MI-től

A Java String Pool egy speciális hely a memóriában, ahol az egyedi szöveg literálokat tárolják. Amikor szöveget literálként hozol létre, a JVM azt a String Pool-ba helyezi, hogy elkerülje ugyanazon szövegek többszöri tárolását és így memóriát takarítson meg.

Például, ha a kódban két ugyanolyan értékű szöveg van, mindkettő ugyanarra az objektumra fog hivatkozni a pool-ban, nem pedig két külön objektumot hoz létre.

Példa:

String s1 = "szia";
String s2 = "szia";
System.out.println(s1 == s2); // true, mindkét referencia ugyanarra az objektumra mutat

String s3 = new String("szia");
System.out.println(s1 == s3); // false, s3 egy új objektum a pool-on kívül

A String Pool célja a teljesítmény növelése és a memóriahasználat csökkentése az immutable szövegek újrahasználatával.