bytecode یک کد میانی شبیه به کد ماشین است که پلتفرم های مختلف (مانند جاوا و .Net) برای حل مشکل قابل حمل نبودن کد ماشین ایجاد کرده اند (البته استفاده از bytecode مزایای دیگری هم دارد). فرایند کار نیز بدین صورت است که بجای اینکه کدهای زبان برنامه نویسی به کد ماشین کامپایل شود به bytecode کامپایل می شود.
JIT compilation به قابلیت کامپایل داینامیک و در زمان اجرای bytecode به کد ماشین توسط ماشین مجازی گویند که باعث اجرای سریعتر کدهای میانی توسط ماشین مجازی می شود. ماشین مجازی بجای اینکه خط به خط bytecode را تفسیر کند ابتدا آن را به کد ماشین کامپایل می کند (در زمان اجرا) و سپس آن را اجرا می کند. این کار باعث سریعتر اجرا شدن bytecode ها توسط ماشین مجاری می شود.