Sobes.tech
Junior — Middle

StringPool kullanım prensibini ve Java'da dizgelerin yönetimindeki rolünü açıklayın

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da StringPool, bellek tasarrufu ve performansı artırmak için benzersiz string örneklerini saklayan özel bir string literal havuzudur.

Bir string literal kullanılarak oluşturulduğunda, JVM havuzda böyle bir string olup olmadığını kontrol eder. Varsa, mevcut referansı döner; yoksa, yeni ekler.

Bu şunlara olanak tanır:

  • Bellekte aynı olan stringlerin çoğaltılmasını önler.
  • Havuzdan gelen stringler için referans karşılaştırması (==) daha hızlı yapılabilir.

Örnek:

String a = "hello";
String b = "hello";
System.out.println(a == b); // true, her ikisi de StringPool'daki aynı nesneye referans eder

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