Hirdetés
- Brogyi: CTEK akkumulátor töltő és másolatai
- eBay-es kütyük kis pénzért
- weiss: Lakodalom van a mi utcánkban...
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- laskr99: DFI és DFI Lanparty gyűjteményem
- sh4d0w: Kalózkodás. Kalózkodás?
- Gurulunk, WAZE?!
- bitpork: 2025, zárás
Ú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
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Milyen RAM-ot vegyek?
- Xiaomi 15 - kicsi telefon nagy energiával
- Nintendo Switch 2
- NASCAR
- Brogyi: CTEK akkumulátor töltő és másolatai
- Android alkalmazások - szoftver kibeszélő topik
- eBay-es kütyük kis pénzért
- Háztartási gépek
- Kerékpárosok, bringások ide!
- Vezeték nélküli fejhallgatók
- További aktív témák...
- -ÚJ,2 ÉV GAR- DDR5 GAMER PC: RYZEN 7 8700F/9700X/9800X3D +RX 6600/6700XT +16-64GB DDR5! SZÁMLA!
- Dell Latitude 7430 x360 Ütésálló Érintős Hajtogatós Profi Ultrabook 14" -60% i7-1265U 16/512 IRIS Xe
- HP E24m G4 Monitor FHD IPS webkamerával, Windows Hello-támogatással
- Lenovo ThinkPad T14 Gen 5 Ultra-I7/16GB/512SSD/FHD/garancia!
- Lenovo ThinkPad X1 Carbon 9th i7-1165G7/16GB/512/FHD/Magyar
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Intel Core i7 8700 6 mag 12 szál processzor garanciával hibátlan működéssel
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Samsung Galaxy A35 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Redmi 15C / 4/128GB / Kártyafüggetlen / 12Hó Garancia / BONTATLAN NULL Perces
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest

)



