Junior — Middle
Тавзеҳ диҳед принсипи истифодаи StringPool ва нақши он дар идоракунии сатрҳо дар Java
sobes.tech AI
Ҷавоб аз AI
StringPool дар Java — ин як пул махсуси литералҳои сатрҳо мебошад, ки нусхаҳои беназири сатрҳоро барои сарфаи хотира ва беҳтар кардани иҷроиш нигоҳ медорад.
Вақте ки як сатр тавассути литерал сохта мешавад, JVM санҷиш мекунад, ки чунин сатр аллакай дар пул ҳаст ё не. Агар бошад, ба он ишора мекунад; агар не, нав месозад.
Ин имкон медиҳад:
- Аз такроршавии сатрҳои якхела дар хотира пешгирӣ кардан.
- Соли тезтар муқоиса кардани сатрҳо тавассути ишора (==), агар онҳо аз пул бошанд.
Масалан:
String a = "hello";
String b = "hello";
System.out.println(a == b); // true, ҳарду ба як объект дар StringPool ишора мекунанд
String c = new String("hello");
System.out.println(a == c); // false, c як объект нав дар берун аз пул