Sobes.tech
Junior — Middle

Java-da StringPool istifadə prinsipi və onun sətirlərin idarə olunmasında rolu haqqında izah edin

sobes.tech Süni İntellekt

AI-dan cavab

Java-da StringPool, yaddaşdan qənaət və performansı artırmaq üçün unikal string nümunələrini saxlayan xüsusi string literal hovuzudur.

Bir string literal vasitəsilə yaradıldıqda, JVM bu stringin artıq hovuzda olub-olmadığını yoxlayır. Əgər varsa, mövcud olanın istinadını qaytarır; yoxsa, yenisini əlavə edir.

Bu aşağıdakıları mümkün edir:

  • Eyni stringlərin yaddaşda təkrarlanmasının qarşısını almaq.
  • Əgər hovuzdandırsa, stringləri daha sürətli müqayisə etmək (==).

Nümunə:

String a = "hello";
String b = "hello";
System.out.println(a == b); // true, hər ikisi StringPool-dakı eyni obyektə istinad edir

String c = new String("hello");
System.out.println(a == c); // false, c yeni obyekt və hovuzda deyil