Sobes.tech
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.