Hirdetés
- Elgépelte a Nubia, hogy Air
- Milyen okostelefont vegyek?
- Samsung Galaxy Watch6 Classic - tekerd!
- Samsung Galaxy A36 5G - a középső testvér
- Hivatalos a OnePlus 13 startdátuma
- Szerkesztett és makrofotók mobillal
- Apple iPhone 16 Pro - rutinvizsga
- Samsung Gear S3 - második kör
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Szívós, szép és kitartó az új OnePlus óra
Ú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?:))
- LG 27GS60QX-B - 27" Ívelt VA - 2560x1440 2K QHD - 180Hz 1ms - AMD FreeSync Premium
- HP Pavilion 15-bc512nh (Core i7-9750H / 24GB DDR4 / 512GB / GTX1650 4GB / Win11) ÁFA, Garancia
- Huawei SUN-2000 6KTL-L1 napalem inverter eladó
- iPhone 16 PRO 256GB 3 hetes!! fehér titán MEDIAMARKT számla! 2028 október 24-ig Apple garancia!
- iPhone 14 PRO 128GB Vadonatúj gyári Apple 100% os akkumlátor! Gyönyörű! Fulldoboz!
- Samsung Galaxy S23 Ultra Green 120 Hz Dynamic AMOLED 2X, 200 MP kamera, beépített S Pen
- Dell Latitude E7440 - i5, 8GB RAM, HDMI, eu bill - számla, 6 hó garancia
- Samsung Galaxy A32 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÁRI TÖLTŐK DELL LENOVO HP FUJITSU TOSHIBA Macbook---------- Budapest,/MPL/Foxpost
- NJOY Szünetmentes + AVR Horus Plus 2000, 2000VA, 1200W, Line-Interactice, LCD Touch displa PWUP-LI20
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


