Hirdetés
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
- sziku69: Fűzzük össze a szavakat :)
- gerner1
- petipetya: Nagy chili topic. :)
- hcl: Google Drive csatolása szerveren / Nextcloud integráció
- Ketogén étrend
- talmida: My Art II.
Ú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
)
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Dell XPS 13 Plus 9320 i7-1260P 32GB 512GB 4K+ TouchScreen 1 év garancia
- SAMSUNG 2TB 990 PRO M.2 NVME PCI-E 4.0 - Új, 1 év garancia - 7450-6900 MBs - Eladó!
- LG Gram 16 i7-1165G7 / 16GB RAM / 512GB SSD / 2.5K kijelző
- 5G! Lenovo ThinkPad P14s Gen 4 Intel Core i7-1370P RTX A500 32GB 1000GB 1 év teljeskörű garancia
- AI Workstation RTX 3090 24GB / 32-128GB RAM / I5 13400F / 1000W
- AKCIÓ! Lenovo Legion Go 512GB SSD kézikonzol garanciával, hibátlan működéssel
- BESZÁMÍTÁS! ASRock H410M i5 10400F 16GB DDR4 512GB SSD GTX 1080 Ti 11GB Zalman T3 Plus Gigabyte 650W
- Samsung Galaxy S23 128GB,Újszerű,Adatkabel,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Asus ROG Strix B450F R5 5600 32GB DDR4 512GB SSD RTX 2070 Super 8GB Zalman S2 TG TT 650W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

)