Mi az a Virtuális gép?
Előző vagyok.
A JIT fordítsa le ezt a managed kódot(CIL) futási időben gépi kódra a .net keretrendszer pedig felelős a memóriafoglalásért,felszabadításáért stb.....
Teljesen máshogy működik mint a java.Javánál virtuális gép van c# nál pedig ott van a keretrendszer miközben az egészet gépi kódra fordítja a jit(realtime) és az így kapott állományokat pedig a processzor értelmezi(nem pedig egy virtuális gép processzora ez csak javánál van így).
A C# és az összes .NET nyelvről a fordító egyfajta objektum orientált assembly-re fordítja a kódot (Common Intermediate Language kód). Ez valóban gépi kódra fordul utána JIT (dettó, így is hívják), de ezzel a megoldással már vesztett optimalizációs lehetőségeket. Megjegyzem, ha tudsz más .NET-es optimalizálást, nyugodtan mond, mert én ezt annyira nem ismerem, illetve vannak talán egyéb fordítási lehetőségek, de tipikusan ez így megy. Illetve lehet, hogy a .NET JIT-je jobb, de ilyet nem találtam, és nem igazán látom értelmét innentől a méricskélésnek a kettő között. Biztos van különbség, csak nem hiszem, hogy jelentős lenne.
A Java és a Java-s egyéb nyelvek bytecode-ja ugyanúgy JIT-el fordul. Ettől még bizony vesztünk mindkettőn futásidőben a JIT nem old meg mindent, bár a Java-sok nem ismerik ezt el.
"A valóságban nincs .NET virtuális gép, helyette
ún. felügyelt (vagy managed) kódot használ, vagyis a program teljes mértékben natív módon, közvetlenül a
processzoron fut,"
Ja, persze.
Common Language Runtime (CLR)
A CLR vagy VES (Virtual Execution System) a CLI nyelven megírt programok betöltéséért és végrehajtásáért felel. Felelősséggel tartozik pl. a memóriamenedzsmentért, kivételkezelésért illetve a kódbiztonságért is (itt a fontosabbak lettek említve).
Common Intermediate Language (CIL)
A CIL (korábban MSIL) egy ún. köztes kód. Minden CLI nyelvben megírt program erre a kódra fordítódik le (ellentétben a hagyományos nyelvek natív kódjától).
Ezt a kódot a tényleges futtatáskor az ún. jitter (Just in time compiler) fordítja le natív kódra, amelyet a processzor már tud kezelni. A CIL hasonlít a Java bytekódjára.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!