Hirdetés
- hcl: GPT diszk kisebbre klónozása
- 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
- aquark: Zsebszámológépek
- sziku69: Szólánc.
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Vandit.: Milyen zenét hallgattok most?
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
disy68
aktív tag
válasz
Csaby25
#10908
üzenetére
Írnak többmindent is, de ez a válasz, ahol a generált kódot megnézte a válaszoló.
A String osztály java alatt immutable, azaz értékadás után az objektum értéke nem változtatható. E miatt a String összefűzés
String concat = "first" + " " + "last";
4 String objektum létrejöttét jelentené.Erre rakták bele java 8 óta a fordítóba, hogy ahol ilyen található, azt optimalizálja. A String összefűzéseket helyettesíti StringBuilder-rel, ezért nem fog létrejönni annyi String objektum.
Vannak még egyéb String-ekkel kapcsolatos optimalizációk, amiket a fordító/futtató környezet csinál/alkalmaz, pl. a válaszokban említett internal pool, ahol kvázi cache-elve vannak String objektum példányok, java 8-as updattel jött a G1 GC-be, hogy tud deduplikálni String-eket. Java 9-ben pedig jött egy olyan, hogy azokat a szövegeket, amiket lehet, ISO-8859-1/Latin-1 kódolással tárolja a JVM UTF-16 helyett (1 vs 2 byte/karakter).
>javap -c Test Compiled from "Test.java" public java.lang.String makinStrings(); Code: 0: ldc #5; //String Fred 2: astore_1 3: new #6; //class java/lang/StringBuilder 6: dup 7: invokespecial #7; //Method java/lang/StringBuilder."<init>":()V 10: aload_1 11: invokevirtual #8; //Method java/lang/StringBuilder.append: (Ljava/lang/String;)Ljava/lang/StringBuilder; 14: ldc #9; //String 47 16: invokevirtual #8; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 19: invokevirtual #10; //Method java/lang/StringBuilder.toString:()Ljava/lang/String; 22: astore_1 23: aload_1 24: iconst_2 25: iconst_5 26: invokevirtual #11; //Method java/lang/String.substring:(II)Ljava/lang/String; 29: astore_1 30: aload_1 31: invokevirtual #12; //Method java/lang/String.toUpperCase:()Ljava/lang/String; 34: astore_1 35: aload_1 36: invokevirtual #13; //Method java/lang/String.toString:()Ljava/lang/String; 39: areturn
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Telekom mobilszolgáltatások
- World of Tanks - MMO
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Ubuntu Linux
- Gaming notebook topik
- Kertészet, mezőgazdaság topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy Felhasználók OFF topicja
- Lenovo Thinkbook, Yoga széria
- További aktív témák...
- Gamer PC - i5 / GTX 960/12 Gb Ram (Erősebb, mint a 1050 Ti!)
- Eladó AKG Ara, dupla kapszulás mikrofon! Bontatlan, garanciás! Több darab is elérhető!
- Logitech Superstrike x2
- D-link 16 és 24 portos, sima és POE, gigabites managelhető switchek
- Gigabyte H510M PRO-E alaplap + Intel Core i5 10400F CPU (+ram, táp, vga igény szerint)
- HIBÁTLAN iPhone 14 Plus 256GB Red-1 ÉV GARANCIA - Kártyafüggetlen, MS4561, 100% AKKSI
- Gamer PC-Számítógép! Csere-Beszámítás! Ultra 5 245KF / RTX 5060 / 16GB RGB DDR5 / 1TB Nvme SSD
- 27% - LG 27MK600M-B IPS Monitor! 1920x1080 / 75Hz / 5ms / FreeSync
- iPhone 14 Pro Max 256GB 100% (1év Garancia)- ÚJ EREDETI AKKUMULÁTOR - AKCIÓ
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue Titanium-1 ÉV GARANCIA -Kártyafüggetlen, MS4480
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
