Kezdőoldal » Számítástechnika » Programozás » Mi az a Virtuális gép?

Mi az a Virtuális gép?

Figyelt kérdés
Sok helyen láttam azt, hogy a java meg c# azért nem jó erre meg arra, mert lassú a virtuális gép miatt. De ez mit takar egész pontosan?

2014. szept. 9. 15:57
1 2
 11/13 anonim ***** válasza:

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).

2014. szept. 9. 23:31
Hasznos számodra ez a válasz?
 12/13 anonim ***** válasza:

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.

2014. szept. 9. 23:51
Hasznos számodra ez a válasz?
 13/13 anonim ***** válasza:

"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.

2017. jún. 6. 05:17
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!