Junior — Middle
Ներկայացրեք Java ծրագրավորման լեզվում տողերի պուլի աշխատանքի մեխանիզմը
sobes.tech AI
Պատասխան AI-ից
Java-յում, String Pool (ստրինգների պուլ) հատուկ տեղ է հիշողության մեջ, որտեղ պահվում են սրինգների լիտերալները և եզակի օրինակները:
Երբ սրինգը ստեղծվում է լիտերալով, օրինակ՝
String s = "բարև";
Java-ն ստուգում է, արդյոք այդ սրինգը արդեն գոյություն ունի պուլում։ Եթե կա՝ վերադարձնում է դրա հղումը; եթե ոչ՝ ավելացնում է:
Այսպիսով, դա օգնում է խնայել հիշողությունը և արագացնել սրինգների համեմատությունը (օպերատոր ==-ը համեմատում է հղումները):
Եթե սրինգը ստեղծվում է կոնստրուկտորով՝
String s = new String("բարև");
նոր օբյեկտ է ստեղծվում heap-ում, որը կապ չունի պուլին, բացի այն, եթե բացահայտորեն կանչենք intern():
String s2 = new String("բարև").intern();
Այդ դեպքում, s2 հղում է դեպի պուլում գտնվող սրինգը:
Այսպիսով, String Pool-ը օգնում է խուսափել նույն սրինգների կրկնությունից հիշողության մեջ և օպտիմալացնել դրանց աշխատանքը: