- One mobilszolgáltatások
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Apple iPhone Air - almacsutka
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Xiaomi 15T Pro - a téma nincs lezárva
- Milliókkal olcsóbb a Model Y Standard Magyarországon
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Garmin Fenix 7 és 7S - profi sport megszokásból
- Poco F7 – bajnokesélyes
Ú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?:))
- ÚJ SOHA NEM HASZNÁLT! Hihetetlen minőség megfizethető áron! Razer blade 17 RTX2080super 4koled TOUCH
- 1MIISI HELYETT! vadonatúj garanciás asus zephyrus g16 ! 32GB RAM!!! Oled
- Bravo 15 C7VE 15.6" FHD IPS Ryzen 7 7735HS RTX 4050 16GB 512GB NVMe magyar vbill gar
- Eladó új 17pro max 2tb kék színű készülék, 1év Apple Garanciával
- Eladó új iPhone 17Pro 256Gb kék színű nemetországban vasarolt, 1év garanciális készülék
- Számlás!Windows 10 Pro 11 Pro,Windows 10 Home 11 Home, Office 2016,2019,2021 ,Vírusirtok,Mac
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3341, 94% Akkumulátor
- Bomba ár! Dell Latitude 5490 - i5-8GEN I 16GB I 256GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- Felújított laptopok számlával, garanciával! Ingyen Foxpost!
- Független & karcmentes Xiaomi Redmi Note 10 Pro 6GB RAM / 128GB / Onyx Grey
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest