Junior — Middle
Ներկայացրեք StringPool-ի օգտագործման սկզբունքը և նրա դերը Java-ում տողերի կառավարման մեջ
sobes.tech AI
Պատասխան AI-ից
Java-ի StringPool-ը հատուկ տողերի պուլ է, որը պահում է տողերի եզակի օրինակներ՝ հիշողությունը խնայելու և կատարողականությունը բարձրացնելու համար:
Երբ տողը ստեղծվում է լիտերալով, JVM-ը ստուգում է, արդյոք այդ տողը արդեն կա պուլում: Եթե կա, վերադարձնում է առկա հղումը; եթե ոչ, ավելացնում է նոր:
Այսպիսով, հնարավոր է՝
- խուսափել նույն տողերի կրկնությունից հիշողության մեջ,
- ավելի արագ համեմատել տողերը հղումներով (==), եթե դրանք պուլից են:
Օրինակ՝
String a = "hello";
String b = "hello";
System.out.println(a == b); // true, երկուսը հղում են նույն օբյեկտին StringPool-ում
String c = new String("hello");
System.out.println(a == c); // false, c նոր օբյեկտ է՝ դուրս պուլից