Оё шумо метавонед консептии пулҳои сатрҳо ва нақши он дар идоракунии хотира дар 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 ба сатр дар пул ишора мекунад