Hirdetés
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- Apple Watch Sport - ez is csak egy okosóra
- Azonnali mobilos kérdések órája
- iPhone topik
- Google Pixel topik
- MIUI / HyperOS topik
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
Ú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?:))
- Feketelista, avagy a rossz boltok topicja
- Még mindig várunk az új Mass Effectre – az N7 nap sem hozott áttörést
- Androidos fejegységek
- Kerékpárosok, bringások ide!
- Kínai és egyéb olcsó órák topikja
- Óra topik
- Ettől lesz más a tévézés? Teszten a OneTV SoundBox
- Építő/felújító topik
- World of Tanks - MMO
- iPad topik
- További aktív témák...
- -ÚJ,2 ÉV GAR- DDR5 GAMER PC: RYZEN 7 8700F/9700X/9800X3D +RX 6600/6700XT +16-64GB DDR5! SZÁMLA!
- Predator GM7000 4 TB M.2 NVME PCI-E 4.0 x4 - Új - 7400-6700 MBs - Eladó!
- Xiaomi Poco M7 Pro 256,Újszerű,Dobozával,12 hónap garanciával
- Xiaomi Poci F4 Gt 128GB,Átlagos,Adatkabel, 12 hónap garanciával
- Samsung Galaxy A34 5G 128GB,Újszerű,Dobozával,12 hónap garanciával
- GYÖNYÖRŰ iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3576, 100% Akkumulátor
- 153 - Lenovo LOQ (15IRX9) - Intel Core i5-13450HX, RTX 4060
- Tablet felvásárlás! Samsung Galaxy Tab S10+, Samsung Galaxy Tab S10 Ultra, Samsung Galaxy Tab S10 FE
- Apple iPhone 17 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- REFURBISHED - Lenovo ThinkPad 40AC Thunderbolt 3 Dock
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


