- Ez most a legjobb robotporszívó. Kérdőjel? De nem olcsó. Pont.
- Áprilisban érkezhet a OnePlus Ace 6 Ultra, közben új tabletek is készülnek
- Oppo Pad Mini néven készülhet a gyártó új, kompakt, prémium táblagépe
- Új Xiaomi Mijia etető érkezik 5 MP-es kamerával és éjjellátással
- Március 30-án mutatkozik be a Vivo Pad6 Pro
- Google Pixel topik
- Android szakmai topik
- Xiaomi 17 - még mindig tart
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Íme az új Android Auto!
- Fotók, videók mobillal
- Xiaomi 17 Ultra - jó az optikája
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Motorola Edge 50 Fusion - jó fogás
Ú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?:))
- Lenovo Yoga 7 2in1 OLED FHD+ Ultra 5 125H 16 GB DDR5 7467 MHz Magyar helyszíni garancia 2028.06.
- Apple iPhone 16 Pro Max 256GB,Újszerű,Dobozaval,12 boával garanciával
- Apple iPhone 11 64GB,Átlagos,Adatkabel,12 hónap garanciával
- Xiaomi Redmi Note 13 Pro 256GB,Újszerű,Dobozaval,12 hónap garanciával
- Xiaomi Poco X7 Pro 256GB,Újszerű,Dobozaval,12 hónap garanciával
- ASUS TUF A14 Gaming Notebook! Ryzen AI HX 370 / RTX 4050 / 16GB DDR5 / 1TB NVMe! BeszámítOK!
- Alkalmi vétel!Csere-Beszámítás! Csak tesztelt HP Omen 16! R9 8940HX / 32GB DDR5 / RTX 5060 / 1TB SSD
- BESZÁMÍTÁS! AsRock H510M i5 11400 16GB DDR4 512GB SSD GTX 1070 8GB Zalman T3 Plus Chieftec 500W
- Apple iPhone 11 64GB,Újszerű,Adatkabel,12 hónap garanciával
- AKCIÓ! 2TB Samsung 990 PRO NVMe SSD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


