Sobes.tech
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 як объект нав дар берун аз пул