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.