Runtime1 دقیقه مطالعه
Runtime در .NET چیست؟
محیط اجرایی که کد کامپایلشده .NET را اجرا و مدیریت حافظه، Thread و Exceptionها را بر عهده دارد.
چرا مهم است؟
درک دقیق Runtime یعنی فهمیدن اینکه واقعاً بین Compile Time و لحظه اجرای برنامه چه اتفاقی میافتد — پایه سوالات مصاحبه درباره CLR، JIT و GC.
تعریف کوتاه
Runtime محیط اجرایی است که برنامه .NET را اجرا میکند و وظیفه مدیریت اجرای کد، حافظه و منابع را بر عهده دارد.
مفاهیم کلیدی
- محیط اجرای برنامه — کد C# ابتدا به IL (Intermediate Language) تبدیل و سپس توسط Runtime اجرا میشود.
- CLR — هسته اصلی Runtime؛ مسئول اجرای کد و مدیریت سرویسهای زمان اجرا.
- JIT Compiler — کد IL را در زمان اجرا به کد ماشین تبدیل میکند؛ فقط بخشهای موردنیاز کامپایل میشوند.
- Memory Management — تخصیص و آزادسازی خودکار حافظه.
- Garbage Collector (GC) — اشیای بدون استفاده را پیدا و حافظهشان را آزاد میکند؛ کاهش خطای Memory Leak.
- Exception Handling — ساختارهایی مثل
try-catch-finallyتوسط CLR پشتیبانی میشوند. - Type Safety — بررسی میکند عملیاتها روی نوعهای صحیح انجام شوند؛ جلوگیری از خطاهای Runtime.
- Thread Management — مدیریت Threadها و اجرای همزمان Taskها؛ پایه برنامههای چندنخی.
- Assembly Loading — بارگذاری و مدیریت فایلهای DLL و EXE.
- Cross Platform — در نسخههای جدید .NET، روی Windows، Linux و macOS اجرا میشود.
Compile Time در برابر Runtime
| Compile Time | Runtime |
|---|---|
| زمان تبدیل کد به IL | زمان اجرای برنامه |
| خطاهای Syntax بررسی میشوند | خطاهای اجرایی رخ میدهند |
| توسط Compiler انجام میشود | توسط CLR انجام میشود |
Runtime در برابر SDK
Runtime: فقط برای اجرای برنامه لازم است. SDK: شامل Runtime + ابزارهای ساخت، کامپایل و توسعه است.
نکته کلیدی: Runtime در .NET با کمک CLR، JIT و Garbage Collector اجرای کد، مدیریت حافظه و منابع برنامه را کنترل میکند.
خلاصه
- Runtime محیط اجرای برنامههای .NET است و مدیریت حافظه، GC و Exception Handling را انجام میدهد.
- JIT بخشی از CLR است که کد IL را هنگام اجرا به کد ماشین تبدیل میکند.
- Runtime فقط برای اجرای برنامه کافی است؛ SDK علاوه بر آن ابزار توسعه و Build هم دارد.
حالا امتحان کن
🧩آزمون Runtime در .NET6 سؤال · نمره قبولی 60٪این مطلب مفید بود؟
☆نشان کردن