Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Geri Bátyó: Agglegénykonyha 13 – Néhány egyszerű, de finom étel
- Andras-G: #Kószagondolat - eMag tapasztalatok 2026-ban
- Elektromos rásegítésű kerékpárok
- talmida: My Art II.
Ú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?:))
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- PlayStation 5
- Garancia kérdés, fogyasztóvédelem
- Fejhallgatós találkozó
- Samsung Galaxy Watch7 - kötelező kör
- Forza sorozat (Horizon/Motorsport)
- Befutott a régóta várt, sok P-maggal kitömött, LGA1700-as Core sorozat
- exHWSW - Értünk mindenhez IS
- Idő előtt felbukkant a Galaxy A57 egy európai webshopban
- Kerékpárosok, bringások ide!
- További aktív témák...
- Samsung Odyssey OLED G6 S27DG602SU OLVASD EL
- MSI RTX 2080 Ti Lightning Z 11GB Dobozos/Gyűjtői
- Dell Latitude 7400 2 in 1 360 touch, i7 8665U, 16GB RAM, SSD, jó akku, magyar bill számla, 6 hó gar
- HP Pavilion Aero 13.3" - 16Gb RAM, 512GB SSD 0.99kg WiFi 6E
- HP ZBook Firefly G9 - 14" hibás kijelző, i7 1255U, 16GB RAM, Nvidia T550 4GB VGA, hiányos bill.
- GYÖNYÖRŰ iPhone 14 Plus 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4526
- LG OLED & OLED evo Televíziók -30%
- Akció!!! Microsoft Surface Laptop 4 13.5" i7-1185G7 16GB 512GB 1 év garancia
- HIBÁTLAN iPhone 13 Pro 256GB Sierra Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4530, 100% Akkumulátor
- Lenovo Thinkcentre M920t Tower/ M920s SFF / számla, garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
