- Samsung Galaxy Z Fold5 - toldozás-foldozás
- Mobil flották
- Xiaomi 13 Pro - szerencsés szám
- Több fény kell, hogy a OnePlus 15T vonzóbb legyen
- Samsung Galaxy S25 - végre van kicsi!
- Android alkalmazások - szoftver kibeszélő topik
- Minden a BlackBerry telefonokról és rendszerről
- Apple iPhone 17 Pro Max – fennsík
- MWC 2026: Részt vesz a Vivo, megmutatják az X300 Ultrát
- Honor Magic7 Pro - kifinomult, költséges képalkotás
Új hozzászólás Aktív témák
-
modder
aktív tag
válasz
MrSealRD
#4239
üzenetére
Esküszöm, nem értem, mit akarsz mondani Superhun válaszára.
De pár tény:
1) A JVM k*rva okos és tele van optimalizációval. Memória allokációnak alig van költsége, persze sok kis objektum lassíthatja a GC-t. Megoldás: arra az objektumra ne veszítsük el a referenciát, amit újra fogunk használni. Ennek megkönnyítésére szoktak memory poolokat implementálni Javában úgy, ahogy C++-ban is. De ezeket elég speckó esetekben szokták használni, amikor a sebesség van mindenek felett.
2) literálokra referencia mindig ugyanarra a memóriaterületre mutat. for() { String s = "nyorr"; } nem fog új objektumot létrehozni minden egyes iterációban
3) Olyan mikro-optimalizációról beszélünk, aminél egy adatbázis lekérdezés nagyságrendekkel lassabb: semmi értelme gondolkodni rajtaCiklusban String összefűzést StringBuilderrel, mert azt a compiler tudtommal nem ismeri fel, ellenben a "egy" + "ketto" + $valami.toString; kóddal, amit StringBuilderre cserél (vagy StringBuffer, most hirtelen nem emlékszem, melyik a thread-safe)
Nem látom értelmét String helyett StringBufferben tárolni a stringet.
Szerk.:
Közben rájöttem, mit akartál mondani, de elég veszélyes. Ha Stringbuilderben tárolod a stringeket, akkor a StringBuilder mutable, és olyan helyen is megváltoztathatod a String értékét, ahol nem akarod. pl.:StringBuilder strTime = getTimeInString();
page1.setLastVisited(strTime);majd később:
StringBuilder strTime = getTimeInString();
page2.setLastVisited(strTime);no shit, lastVisited szintén frissült page1-re, mert ugyanaz az objektum. Nem hiába találták ki, hogy a String immutable.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Könyvajánló
- Projektor topic
- Racoon City árnyékában: Teszteltük a Resident Evil Requiemet
- Fejhallgató erősítő és DAC topik
- Milyen hangkártyát vegyek?
- E-book olvasók
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- PlayStation 5
- Építő/felújító topik
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- További aktív témák...
- AOC Q27G3XMN 27" 180Hz 1440p gamer monitor
- Iphone 13 mini mobiltelefon eladó
- Ryzen 5 5500 (ÚJ, 2 ÉV GARI) - 16 GB DDR4 3200 MT/s CL16 - 1 TB NVMe SSD (G4) - MSI MAG Vampiric ház
- Samsung NP270E5E-K07PL Notebook 3 órás akkuval
- Új Gamer PC - Ryzen 7 5700X / RTX 5060 Ti / B550M WIFI / 16GB RAM / 1TB SSD / 650W
- Azonnali készpénzes nVidia RTX 3000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- Laptop felvásárlás , egy darab, több darab, új , használt ! Korrekt áron !
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Sosemhasznált! HP OmniBook 5 Flip i5-1334U 16GB 1000GB 14" FHD+ áthajtós-érintős Gar.: 1 év
- BESZÁMÍTÁS! 2TB Sandisk Extreme Portable V2 külső SSD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

