Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Lacces
    őstag

    Sziasztok!

    A Just-In-Time fordító definíciójával vagyok gondban. Elég sok helyen olvastam róla az interneten, de inkább csak jobban belezavart. :(
    Valaki letudná írni kristálytisztán, hogy mit tesz a JIT? Vagy javítsatok ki az értelmezést illetőleg.
    Ha jól értelmezem, akkor a bytecode sorról-sorra kerül lefordításra gépi kódra, amelyet a JIT gyorsítótáraz is. Utóbbi eredményeként a többi futás során már csak a gyorsítótárazott gépi kódot kell futtatni. Továbbá a gyorsítótárazott verzióban nem minden függvény kerül át gépi kódra. Ezeket a többi futás során a fordító valósidőben fordítja le. Innen jön valahogy a JIT név.

    A nagygusztávos jegyzetet ajánlom neked. Ott az elején magyarul van valami írva a Java működéséről.

    JIT az a JVM része...

    Van a Forrásfájl, pelda.java ezt a fordító lefordítja, és átalakítja bytecode-ra, ebből keletkezik egy úgynevezett pelda.class, amit a JVM fogyaszt el. És a JVM futtatja a kódot, a JIT pedig Gépi nyelvre fordít le.

    Magyarul az Interpeter( fordító .java -> .class fájlba). Az egyszer fordítja le.
    És amikor jön a JVM akkor felhasználja a bytecode-t (.class fájlt), és ezekből készít natív gépi kódot (pl, Windowsra vagy Linuxra). És itt jön a JIT. A JIT megnézi, hogy mi volt egyszer már lefordítva, ha valami le volt, akkor azt nem fordítja le még egyszer, mert minek tököljön vele.
    (Ha lehetséges, ő mindent csak egyszer fordít le, ezért is lehetne nevezni JOT-nak vagy Just-One-Time)
    Viszont optimalizálást is végrehajt egy-egy függvényen, kódon. Ugyanis a JIT figyeli (futás időben vagyunk JVM), hogy mely kódrészletek voltak többször és gyakran meghívva, és azokat mindig igyekszik optimalizálni "újra fordítani".

    Ez magyar nyelvű ez neked szerintem bőven elég az 1. és a 6. pontot olvasd el
    (Ismétlem 1. és 6. pont)

    Ez egy rövid és igen lényegre törő angol leírás, és szerintem ez így neked ennyi elég.

    Vagy magyarul nézzél még .net-es leírást, ott is JIT működik (Just-In-Time fordító)

Új hozzászólás Aktív témák