Tartalomjegyzék

.NET

A .NET Framework egy keretrendszer (ilyen pl. a java is), amely egy új absztrakciós réteget valósít meg a keretrendszerre írt felhasználói programok és az operációs rendszer (linux, windows_xp, windows_vista) között. Szokásos elnevezések: framework, keretrendszer, virtuális gép.

Feladata a beépített osztályokon és saját utasításkészletén keresztül „felügyelt” programok futtatása az op. rendszeren. Ezt az utasítéskészletet egy köztes nyelv, az Intermediate Language adja. A magasabb szintű nyelveken (c#, visual c++, visual basic.net, j#, php, pascal, python, LOGO, …) írt fordító (compiler) erre a köztes nyelvre (IL) fordítja le, amit aztán a futtatókörnyezet „felügyelt” módon gepi_kodra fordít és az operációs rendszer a hardveren futtat.

.cs (c# forráskód) {doubleright}over{compiler} .exe (il bináris) {right}over{JIT} a futó natív gépi kód

Természetesen a futás idejű fordítás sebességcsökkenéssel jár, amit a .net keretrendszer menet közbeni fordítója azzal kompenzál, hogy csak a még nem fordított metodust fordítja vagy a már rendelkezésre álló gépi kódot használja. Így a programindulás lényegesen lassabb lehet, de a futás általában már nem.

Ebből származó előnyök:

Native Imgae Generator (ngen.exe) -ral közvetlenül a natív kód is fordítható, bár általában nem javasolt.

A keretrendszer jelenleg a Mono projekt keretében linuxra, a Microsoft által Windows-okra érhető el.

Elnevezések:

.NET Osztálykönyvtár

Igen nagy számú beépített osztálykönyvtár áll a programozó rendelkezésére. Fontosabb névterek1): System, System.IO, System.Net , System.XML, System.Console …

.NET Típusrendszere

.NET Kivételkezelés

A nem várt eseményeket kivételnek nevezzük. Az egységes megvalósítás lehetőséget ad a kódban a hasznos kód és a kivételkezelő kód egymástól szétválasztására. Saját kivételek (osztályok) definiálhatók, kedvünkre szabhatók. Természetesen „kivételes esetben” ez is lassulást okoz, így a kivételkezelés módszerét nem célszerű - bár lehet - programozói feladatokra használni.

Memóriakezelés

Az automatikus memóriakezelést végez: memóriafoglalás, felszabadítás.

Jellemzően:

A GC mozgatja át a lyukas memóriaterületre a használt adatokat, az új üres tér egybefüggő (v.ö JAVA), így a memóriafoglalás villámgyors. Az optimalizált GC az igényeknek megfelelő sebességet produkál.

1)
a névtér és az osztálykönyvtár fogalma nem teljesen ekvivalens