Hirdetés
Ú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?:))
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Allegro vélemények - tapasztalatok
- Last contact: rejtélyes körülmények között semmisült meg a 34343-as műhold
- Kerékpárosok, bringások ide!
- PSti: Total Commander - Memória duplázás!
- Villanyszerelés
- Kutya topik
- Gumi és felni topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Samsung Galaxy A56 - megbízható középszerűség
- További aktív témák...
- ÚJRA! 256GB NVMe SSD, 1 év gar
- Asus 15.6,core i3 8145U(4x3,9Ghz)IntelUHD VGA,MAGYAR Vil.bill.,8-20GB RAM,SSD,,Win.11
- HP 15,6"FullHD ,8.gen. Core i5(8X3,6Ghz)R5 2/4GB VGA,8-32GB DDR4 RAM,SSD+HDD?,jó akku,szép áll.
- Asus Phoenix NVIDIA GeForce RTX 3060 12 GB
- Thinkpad X13 Gen4 13.3" FHD+ IPS i7-1365U 16GB 512GB NVMe ujjlolv gar
- AKCIÓ! Samsung Galaxy Tab S9+ 5G 256GB WiFi 5G tablet garanciával hibátlan működéssel
- Apple iPhone 11 64GB,Átlagos,Adatkabel,12 hónap garanciával
- Alkalmi vétel! HP Omen 17! I7 12700H / RTX 3070Ti 8GB / 1TB Nvme SSD / 16GB DDR5 !
- AKCIÓ! MSI B650 R7 7700 32GB DDR5 1TB SSD RTX 5070Ti 16GB LIAN LI LANCOOL 207 ADATA 850W
- HP ProBook 445 G8 14" Ryzen 5 5600U, 8-16GB RAM, 256-512GB SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

