Hirdetés
- Drasztikus változást mutat a Sony mobilja az első képeken
- Hatalmas telepet és fizikai ventilátort kaptak az új Oppo-k
- Tizenegyes! A VAR helyett a CAD buktatta le a Google profi játékosát
- Gyorsabb processzort igen, memóriát alig kapott a Xiaomi új HD tévéokosítója
- Ennyit szűkít az X300 Ultra a telepen Európában
- Google Pixel 10a – évismétlés
- Samsung Galaxy S26 - szeret, nem szeret
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Poco F8 Ultra – forrónaci
- Samsung Galaxy Z Fold4 - egyre megy, honnan nézed
- EarFun Air Pro 4+ – érdemi plusz
- Poco F5 - pokolian jó ajánlat
- Xiaomi 15T Pro - a téma nincs lezárva
- Elkalapálta a snapdragonos Galaxy S26 az exynososat
- Motorola Edge 40 - jó bőr
Ú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?:))
- Vezetékes FEJhallgatók
- Medence topik
- Autós topik
- Parfüm topik
- Kormányok / autós szimulátorok topikja
- Doky586: Windows telepítés utáni beállítások
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Google Pixel 10a – évismétlés
- Hard Disk Sentinel: S.M.A.R.T., okosan
- További aktív témák...
- Eladó G pro superlight 2 se Unusual way sports UHWM skate talpakkal.
- Fehér konfig - i7-4790k/ROG Strix GTX 1070/Wifi/Rengeteg új-dobozos alkatrész/AJÁNDÉK Resident Evil
- 3D 4K Oled Dolby Vision (LGOLED C6EP/LGOLED E6P/LG OLEDG6P)
- 3D 4K Oled Dolby Vision (LGOLED C6EP/LGOLED E6P/LG OLEDG6P)
- HP 150W töltők (19.5V x 7.7A) kis kék, kerek, 4.5 x 3.0 mm
- 27% - ASUS ROG Ryuo IV SLC 360 ARGB (90RC0151-B0EAY0) AIO Vízhűtés !
- AKCIÓ! ASUS B560M i5 11400 64GB DDR4 512GB SSD RTX 3070 8GB ZALMAN S2 TG CHIEFTEC 750W
- HP ZBook Fury 17 G8 i7-11800H 32 GB RAM 1TB SSD NVIDIA RTX A3000 Garancia
- Belépő Gaming PC! i7-8700 / RTX 3060 Ti / 16GB DDR4 / 500GB SSD / Z390 / 500w!
- Telefon felváráslás!! Samsung Galaxy S22/Samsung Galaxy S22+/Samsung Galaxy S22 Ultra
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

)
