JIT compilation به قابلیت کامپایل داینامیک و در زمان اجرای کدهای میانی (byte code) به زبان ماشین توسط ماشین مجازی گویند که باعث اجرای سریعتر کدهای میانی توسط ماشین مجازی می شود.
AOT compilation به قابلیتی گفته می شود که قبل از اجرای برنامه، قسمت یا تمامی کدهای میانی به زبان ماشین (یا شبیه زبان ماشین) کامپایل می شوند و باعث می شود بهینه سازی های استاتیک برروی کد میانی قبل از اجرای برنامه صورت گیرد و در نتیجه سرعت اجرای برنامه بالاتر رود.
AOT compilation برای ماسین های مجازی توکار که نمی توانند حافظه زیادی برای اجرا شدن داشته باشند مناسب تر است، بدلیل اینکه ماشین های مجازی که قابلیت JIT compilation را دارند حافظه بیشتری برای اجرا می خواهند و کمی سربار محاسباتی زمان اجرا نیز دارند.