Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Gurulunk, WAZE?!
- sziku69: Szólánc.
- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
- GoodSpeed: Én és a Battlefield 6
- Brogyi: CTEK akkumulátor töltő és másolatai
Ú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?:))
- Samsung Galaxy S24 - nos, Exynos
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Xiaomi 15T Pro - a téma nincs lezárva
- Kedvenc zene a mai napra
- A ZTE sem maradt adós csúcstelefonnal
- Milyen SSD-t vegyek?
- Dell notebook topic
- Milyen autót vegyek?
- MW2 - MW3 játékosok baráti köre
- World of Tanks - MMO
- További aktív témák...
- 10.gen PC // i5 10400F / RTX 2060 6GB / 16GB RAM / SSD+HDD //
- Ryezn PC // Ryzen 5 4500 / RTX 2060 6GB / 32GB DDR4 / 256GB SSD + 1TB HDD //
- MSI PRO X870-P WIFI
- 2014 Opel Adam 1.4Benzin GLAM White 87Le 175.000km Megkímélt Eladó-Cserélhető
- 2008 Fiat 500 1.2 8V 69Le Sport 139.000Km Hibakódmentes Eladó-Cserélhető
- 10% tól elvihető BANKMENTES , KAMATMENTES , RÉSZLETFIZETÉS Legion Slim 5 16APH8 - Type 82Y9
- GYÖNYÖRŰ iPhone 14 Pro 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3352
- Gyors, Precíz, Megbízható TELEFONSZERVIZ, amire számíthatsz! Akár 1 órán belül
- Eredeti, új Lenovo 330W töltők - ADL330SDC3A
- GYÖNYÖRŰ iPhone 12 Mini 128GB Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS3630,94% Akkumulátor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest

