Sobes.tech
Junior — Middle

Hafıza yönetiminde neden ihtiyaç duyulan string literal havuzu nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

String Havuzu (String Pool), Java'da benzersiz string nesnelerinin saklandığı özel bir bellek alanıdır. Bir string literal oluşturulduğunda, JVM bunun zaten havuzda olup olmadığını kontrol eder. Varsa, ona referans döner; yoksa, yeni bir tane ekler.

Bunun amacı nedir?

  • Bellek tasarrufu: Aynı stringler bir kez saklanır.
  • Performans artışı: Havuzdaki literal'lar için referans karşılaştırması (==) mümkündür.

Örnek:

String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true, her iki referans aynı nesneye işaret eder

String s3 = new String("hello");
System.out.println(s1 == s3); // false, s3 yeni bir nesnedir ve havuzda değildir

Bu şekilde, string havuzu, stringlerle çalışırken belleği etkin bir şekilde yönetmeye yardımcı olur.