- Út Korea turistaparadicsomába, amiről talán még sosem hallottál: Csedzsu-sziget
- Perplexity Pro AI képszerkesztési limit -egy képgenerátor függő tapasztalatai
- Adattár lemez előkészítése Windows telepítéshez
- Jelszóvédett IBM Thinkpad R50e működőképessé tétele.
- ATK Blazing Sky X1 Ultimate Metallic Red gamer egér
- Kempingezés és sátrazás
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sellerbuyer: Milyen mobiltelefont vegyek 2025 ben?
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- SzDavid99: Út Korea turistaparadicsomába, amiről talán még sosem hallottál: Csedzsu-sziget
- Elektromos rásegítésű kerékpárok
- sziku69: Szólánc.
Új hozzászólás Aktív témák
-
modder
aktív tag
Hali, nagyjából jó, amiről beszéltek, de kicsit össze vagytok zavarodva.
Azt mondjátok, hogy "ha változtatsz a kódon, a JIT csak azt fordítja újra". De ehhez előbb nyilván bytekódot kéne generálni, szóval ez a példa nem jó.
A jvm interpreterként működik: veszi a bytekódot, és sorról sorra megfeleltetni egy-egy gépi utasításnak vagy jvm-beli utasításnak. Ilyen a PHP is, a python is, az összes interpretált nyelv.
Amitől a JVM-et Hotspot-JVM-nek hívják az a JIT, ami az alábbi tulajdonságot aknázza ki:
Általában elmondható, hogy egy program a futása során az idő 90%-át a programrészek (függvények) 10-20%-ában tölti el.és ebből jön a JIT működése:
A JVM futtatja a kódot, statisztikákat készít róla futás közben (profiling). Megtalálja ezt a 10%-ot, ahol a program a futása során a legtöbb időt tölti, majd ezeket a kódokat direktbe lefordítja a célgép gépi kódjára, majd beszúr egy ugrást az eredeti bytekódba (természetesen a memóriában, a .class fájlokba nem ír semmit), hogy most onnantól a gépi kódos rész fut.Az optimalizálás pl. abban nyilvánul meg, hogy a JVM látja, mik azok a feltételek, amik sok-sok lefutás után sosem teljesülnek vagy mindig teljesülnek, és úgy fordítja az adott kódrészletet gépi kódra, hogy ezeket a feltételeket alapból igaznak vagy hamisnak veszi
Például egy if-else ág mindig csak egyik fele igaz, akkor úgy fordítja le a kódot, hogy ki is hagyja a feltételvizsgálatot. Természetesen folyamatosan figyeli ezeket az előfeltételeket, és ha van 1 eset, amikor mégis lefutna a kioptimalizált rész, akkor az eredeti bytekódot futtatja interpretált módban.Szó sincs arról, hogy mindent gépi kódra fordít.
Remélem tisztáztam
Szerk:
még annyi, hogy ezek mind a program 1-1 futása során történnek. nincsen olyan, hogy a futását befejező program gépi kód részeit valahová elmenti, és ha újra futtatod, akkor azokat betölti. ezek mint just-in-time egy-egy futás alkalmával történő változtatások. ( ezt azért mondom, mert régen én így képzeltem)
-
Chipi333
csendes tag
A NetBeans annyit csinal, hogy letrehoz neked egy osztalyt ami javax.swing.JFrame-bol szarmazik, es van benne alapbol egy GUI szerkeszto. Eclipseben ezt kezzel kell. De eselyes azert, hogy van ahhoz is vmi plugin ami megcsinalja helyetted. Mert hat kezzel guit irkalni a legundoritobb resze ennek a szakmanak
-
Lacces
őstag
Picit továbbhaladtam a példában. Elég érdekes amit írt, de nekem kérdőjel maradt benne.
Van ez a két sor:
kk = vv;
System.out.println(kk.plusz(new Valos(9)).toString());Az első sor még ok, hogy itt dinamikus típus lesz, Komplex deklarált, és valós.
Viszont a második sornál a magyarázatot a példában nem értettem meg, hogy akkor most mi va...
kk dinamikus típus lesz. és meghívjuk a plusz metódust, amelynek a paramétere valós.
public Komplex plusz(Komplex k){ // Komplex osztályban
System.out.println("K + K: "+toString() +" + " + k.toString());
return new Komplex(re+k.re, im+k.im);
}
public Komplex plusz(Komplex k){ // Valos osztályban
System.out.println("V + K: "+toString() + " + " + k.toString());
return new Komplex(re+k.re, k.im);
[I]Az eredmény egyik sora: V + K: (7.8) + (9.0) [/I]lesz
}
public Valos plusz(Valos v){ // Valos osztályban
System.out.println("V + V "+toString()+ " + " + v.toString());
return new Valos(re+v.re);A magyarázat olyan, hogy dinamikus kötést alkalmaz. Ez rendben van, de miért?
1.Azért mert kk Komplex deklarált, de Valos Konstruktor hívás van, ezért egyből a Valos osztályból keresi hozzá a plusz metódust?
2. Vagy azért, mert Komplex osztályban nincs plusz() metódus amelynek a paraméter Valos szám!, és ezért a gyermek osztályban keres hozzá!Most ilyenkor egyből megy a deklarált osztályba, vagy abba az osztályba megy a fordító, ahol megvan híva az objektum konstruktora?
-
1.
A ListaElem osztaly tartalmaz egy referenciat egy masik ListaElem tipusu objektumra, annak meg van elem nevu valtozoja, amit el tud erni a fenti hivatkozassal.
2.
A Hasonlithato kodjat nem talalom, de gondolom ugy mukodik, mint a Comparable. Olvasd el a Comparable interface dokumentaciojat, abban leirjak szepen, hogy mikor mit kell vizsgalni.
3.
Azert kell az a sor, mert nelkule mindig ugyanazt az elemet adna vissza a metodus.
-
-
Lacces
őstag
Már meg van a megoldás :-D
System.out.println("Enter the radius and length of a cylinder:");
Scanner sc = new Scanner(System.in);
String radiusAsString = sc.next();
String lengthAsString = sc.next();
double radius = Double.parseDouble(radiusAsString);
double length = Double.parseDouble(lengthAsString);Ehhez a verzióhoz mit szólsz?
System.out.println("Enter the radius and length of a cylinder:");
Scanner sc = new Scanner(System.in); Pattern newlineOrSpace =
Pattern.compile(System.getProperty("line.separator") + "|\\s");
sc.useDelimiter(newlineOrSpace);
double radius=sc.nextDouble();
double length=sc.nextDouble(); -
Character.digit(ch, 10) -t hasznald konverziohoz, ahol ch char tipusu.
Elozore pedig: A Scannernek van nextDouble metodusa is. Nyilvan a streamet valahogy le kell zarni, erre az enter nem eleg. Ha nem akarod tulbonyolitani, akkor beolvashatsz egy sort egy String-be es ebbol olvasod ki Scanner-rel a double ertekeket.
-
1.
double pi = 3.14;
System.out.printf("%.0f\n", pi);2.
A 9.0 literal double tipusu, ami a legnagyobb tipus a (9.0 / 5) * celsius + 32 kifejezesben, ha celsius float. Emiatt az eredmeny is double, amit castolas nelkul nem tudsz float-ba belerakni.
9.0f viszont float tipusu.3.
A Scanner osztalyt hasznald.
-
1.
Nyilvan rengeteg kulonbseg van long es Long kozt.
Long egy referencia tipus, long egy primitiv tipus. Ha ranezel a Long dokumentaciojara, akkor latod, hogy tele van konverzios metodusokkal, amik jol jonnek, ha nem akarsz castolni pl.
Masreszt Long immutable, mig long nem.
Templatek megadasanal csak referencia tipust hasznalhatsz, tehat nem irhatsz olyat, hogy List<long>.
Ettol fuggetlenul elelmiszerpult.get(vonalKod), akkor is mukodik ha vonalKod long tipusu, ekkor ugyanis egy Long-ba lesz becsomagolva autoboxingnak koszonhetoen.2.
Az is teljes erteku megoldas lehet, ha csak egy this() hivodik meg a konstruktorodban. Mondjuk Hashtable tipikusan nem az a tipus, ami neked kell. -
-
kispx
addikt
Foglalt szavakat emeli ki, a String egy osztály.
Szerintem is this.t=m; -nek kellene állnia, az Eclise nem is fog jelezni, mert this.t=t; szintaktikailag helyes, azt nem tudja leellenőrizni, hogy szemantikailag is helyes.
-
Lortech
addikt
[Type interface]
A példa általánossága miatt áll itt ez az interfész, bármilyen típusú elemeket tartalmazó lista iterálható vele.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Gaming Set-Up eladó 3090 32GB 4000MHz CL18 M.2 SSD 1TB (újrapasztázott minden)
- 4K Gamer PC - i9 - vízhűtés - RTX 4090 - 48GB RAM
- Ritkaság eladó!!! i5-5675c Iris pro grafikus maggal.
- Szép! Lenovo Thinkpad T14 G3 "Golyóálló" Üzleti Laptop 14" -50% i5-1250P 12Mag 16GB/512GB FHD+ IPS
- Lenovo ThinkPad T14 Gen 1 - Ryzen 5 Pro 4650U, 16GB RAM, 512GB NVMe SSD - Szépséghibával, áron alul!
- Bomba ár! Asus X540YA - AMD A8 I 8GB I 512SSD I Radeon I 15,6" FHD I Cam I W10 I Garancia!
- Legjobb kijelzős! ThinkPad T14s Gen 2 i5-1135G7 16GB 1000GB FHD 1 év garancia
- Bomba ár! HP EliteBook 745 G3 - AMD A10 I 8GB I 256SSD I Radeon I 14" FHD I Cam I W10 I Garancia!
- Patika hibátlan Iphone 14 PRO MAX 128GB Független - Dark Purple - 5 Mobilxof tok + Üvegfolia
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I5 7500 / GTX 1050Ti / 16GB DDR4 / 128SSD+1TB HDD
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest