Sobes.tech
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 эс тутумда бирдей жолдорду кайталоодон сактайт жана алардын иштешин оптималдаштырат.