- TCL LCD és LED TV-k
- Milyen TV-t vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kompakt vízhűtés
- Steam Deck
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Modding és elektronikai kérdések
- HiFi műszaki szemmel - sztereó hangrendszerek
- Kormányok / autós szimulátorok topikja
- 5.1, 7.1 és gamer fejhallgatók
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
válasz
MrSealRD
#4245
üzenetére
Tévedsz, Javában a string literálok nem úgy műkődnek, mint az egyéb sima objektumok. Ezek egy String poolba kerülnek. Amikor létrehozol egy új string literált, akkor a JVM megnézi, hogy benne van-e már az a string a poolban, és ha igen, akkor nem hoz létre új objektumot, hanem egyszerűen referál a már meglévőre. A garbage collector ezeket a stringeket nem is fogja bántani csak úgy, különben elveszik az újrafelhasználás lehetősége.
A StringBuildert pedig nem kell feltétlenül használni, mert egyrészt sokkal természetesebb a plusz operátor, másrészt úgyis StringBuilderre fordul a + operátor...
-
válasz
MrSealRD
#4245
üzenetére
sb.replace(0,sb.length,"x")
Ekkor is létrehozol egy "x" (vagy akármi más) tartalmú String objektumot. Tény, hogy utána a régi literált nem kell GC-zni, mert egyszerűen felülcsapja az új literállal a karaktertömbjét, de ha picit utánaolvasol annak, hogy mi az a PermGen, akkor rájössz, hogy alapesetben a régi Stringet sem fogja megenni a GC. Annyit értél el az egésszel, hogy rondább lett a kód.

Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- BESZÁMÍTÁS! ASRock B760 i5 14600KF 32GB DDR5 500GB SSD RX 9070 16GB be quiet! Pure Base 500DX 750W
- Apple iPhone 13 Pro Max /128GB / Kártyafüggetlen / 12Hó Garancia / Akku:83%
- Apple iPhone 13 /128GB /Kártyafüggetlen / 12 Hó Garancia / akku: 85%
- LG 86QNED86A / MiniLED / 86" - 217 cm / 4K UHD / 144Hz / HDR Dolby Vision / FreeSync Premium / VRR
- Razer Cobra Lightweight Minecraft Edition RGB Gaming Egér!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


