Sobes.tech
Junior — Middle

Java-da yaddaş idarəsində sətir hovuzunun konsepsiyasını və onun rolunu izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Java'da String Pool (String Pool), unikal string literal nümunələrinin saxlandığı xüsusi bir yaddaş yeridir. Bu, yaddaşı qənaət edir və stringlərin müqayisəsini sürətləndirir.

Bir string literal yaratdığınız zaman, məsələn:

String s = "salam";

Java bu string-i string havuzuna yerləşdirir. Əgər daha sonra eyni dəyərə malik başqa bir string yaradılırsa, o, artıq mövcud olan obyektə istinad edəcək və yeni obyekt yaratmayacaq.

Bu, yaddaş idarəçiliyi üçün vacibdir, çünki stringlər tez-tez istifadə olunan obyektlərdir və onların nümunələrinin təkrar istifadəsi çöp toplayıcısının yükünü azaldır və yaddaş istifadəsini aşağı salır.

Əgər string new String("salam") konstruktoru ilə yaradılırsa, o, heap-də yaradılır və avtomatik olaraq təkrar istifadə olunmayacaq.

String-i havuza əlavə etmək üçün intern() metodundan istifadə edə bilərsiniz:

String s1 = new String("salam");
String s2 = s1.intern(); // s2, havuzdakı string-ə istinad edəcək