Sobes.tech
Junior — Middle

Оё шумо метавонед консептии пулҳои сатрҳо ва нақши он дар идоракунии хотира дар Java-ро шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Дар String Pool дар Java ҷойи махсус дар хотира аст, ки дар он нусхаҳои беназири литералҳои сатр нигоҳ дошта мешаванд. Ин имкон медиҳад, ки хотира сарфа шавад ва муқоисаи сатрҳо тезтар шавад.

Вақте ки шумо сатрро тавассути литерал месозед, масалан:

String s = "салом";

Java ин сатрро дар String Pool ҷойгир мекунад. Агар баъдтар сатр дигар бо ҳамон арзиш сохта шавад, он ба объекти аллакай мавҷуд дар пул ишора мекунад, на ба объекти нав.

Ин барои идоракунии хотира муҳим аст, зеро сатрҳо объектҳои бисёр истифода мешаванд ва такрори истифодаи онҳо борро дар ҷамъкунандаи партовҳо кам мекунад ва истеъмоли хотираро коҳиш медиҳад.

Агар сатр тавассути конструктор new String("салом") сохта шавад, он дар heap (халта) сохта мешавад ва автоматӣ такрор истифода намешавад.

Барои илова кардани сатр ба пул, шумо метавонед усули intern()-ро даъват кунед:

String s1 = new String("салом");
String s2 = s1.intern(); // s2 ба сатр дар пул ишора мекунад