Hirdetés
- PC-k milliói kerülhetnek veszélybe idén
- Visszafogott, vékony és vezetékmentes ProArt billentyűzet jött az ASUS-tól
- Nem tiltották be a Teslát Kaliforniában, Robotaxival ünnepelt a márka
- Az ARM részvényeinek eladásában csúcsosodott ki az NVIDIA felvásárlási kísérlete
- Jobb tömörítő algoritmussal kínálja meg a DirectStorage API-t a Microsoft
- Gaming notebook topik
- OLED TV topic
- Döbbenetes csörte zajlott le az AMD és a SemiAnalysis között
- Milyen videókártyát?
- Vezeték nélküli fülhallgatók
- Milyen alaplapot vegyek?
- Házimozi belépő szinten
- PC-k milliói kerülhetnek veszélybe idén
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
Ú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?:))
- Gaming notebook topik
- Milyen okostelefont vegyek?
- LEGO klub
- Autóápolás, karbantartás, fényezés
- PlayStation 5
- A fociról könnyedén, egy baráti társaságban
- BestBuy topik
- OLED TV topic
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Döbbenetes csörte zajlott le az AMD és a SemiAnalysis között
- További aktív témák...
- NEC MultiSync V422 42" Monitor
- Kingston HyperX FURY 16GB (2x8GB) DDR4 2666 MHz HX426C16FB3K2/16
- HIBÁTLAN iPhone 15 Plus 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4504
- HIBÁTLAN iPhone 11 64GB White-1 ÉV GARANCIA - Kártyafüggetlen, MS4389, 100% Akksi
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


