Junior — Middle
Selgitage Java programmeerimiskeeles stringide basseini töömehhanismi
sobes.tech AI
Vastus AI-lt
Java-s on String Pool (stringide kogum) spetsiaalne koht mälus, kus hoitakse stringi literaale ja unikaalseid eksemplareid.
Kui string luuakse literaali kasutades, näiteks:
String s = "tere";
Java kontrollib, kas selline string juba olemas on. Kui on, tagastab viite sellele; kui ei, lisab selle.
See aitab säästa mälu ja kiirendada stringide võrdlemist (operaator == võrdleb viiteid).
Kui string luuakse konstruktoriga:
String s = new String("tere");
luuakse uus objekt heapis, mis ei ole seotud pooliga, välja arvatud juhul, kui kutsutakse selgelt intern():
String s2 = new String("tere").intern();
Siis viitab s2 stringile poolist.
Selle meetodiga aitab String Pool vältida sama stringi duplitseerimist mälus ja optimeerida nende kasutamist.