Hirdetés
- Teljes hátraarc az Intelnél, házon belül maradhat a NEX üzletág
- Drágul a Raspberry Pi, de lesz egy új, olcsó verzió
- Horvát fricska Elon Musk önvezető Tesláira
- Amilyen gyorsan jött, olyan gyorsan ment is a világ legdrágább csúcs-VGA-ja?
- Rémisztő árakkal szembesülnek a notebookgyártók az új mobil platformoknál
- Milyen videókártyát?
- 5.1, 7.1 és gamer fejhallgatók
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen széket vegyek?
- Kormányok / autós szimulátorok topikja
- Milyen TV-t vegyek?
- OLED TV topic
- Amilyen gyorsan jött, olyan gyorsan ment is a világ legdrágább csúcs-VGA-ja?
- Fejhallgató erősítő és DAC topik
- Melyik tápegységet vegyem?
Ú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?:))
- DJI Osmo Action Akciókamera és Kiterjedt Tartozékszett Eladó
- Samsung Galaxy Z Fold 7 Kék, 512 GB, 100% akku, megkímélt állapot, garanciával
- Crucial 8GB DDR4 3200MHz Laptop RAM (SODIMM), hibátlan állapotban
- Üzletből, garanciával, Lenovo ThinkPad P14s Gen2. Ryzen 5 Pro-5650u/16GBRAM/512GBSSD/FULLHD IPS
- SAMSUNG Odyssey G4 LS27BG400EUXEN + INGYEN SZÁLLÍTÁS
- AMD Ryzen 7 3800X 8-Core 3.9GHz AM4 Box processzor
- Apple iPhone 15 Pro - Black Titanium - 128GB - Akku: 87% - Megkímélt állapot!
- Asus Zenbook 14 Laptop UX3402Z i7
- 175 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5070Ti
- Samsung Galaxy S23 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

)

