مفاهیم JDK, JRE, JVM برای افرادی که جاوا را به تازگی شروع کرده اند کمی گیج کننده است. به صورت سلسله مراتبی تعاریف به این شکل هستند:


JDK: سرآمد Java Development Kit است به معنی "بسته ی توسعه جاوا". در واقع یک بسته است شامل آن چه که برای برنامه نویسی و توسعه به زبان جاوا لازم است. مانند:

  • javac: کامپایلر جاوا که کدهای جاوا را به بایت کد ترجمه می کند.
  • JRE: در ادامه توضیح داده خواهد شد.
  • java: لودر برای برنامه های جاواست. در واقع یک مفسر است که با استفاده از javac می تواند فایلهای class. را تولید و اجرا کند.
  • JDB: خطایاب جاوا.
  • ...

JRE: سرآمد Java Runtime Enviroment است به معنی "محیط زمان اجرای جاواست". مجموعه ای ست که برای اجرای برنامه های جاوا به آن نیازمندیم. JDK ابزارهایی در خود داشت که برای کامپایل و به طور کلی برنامه نویسی جاوا بود. پس اگر روی سیستمی تنها قصد اجرای برنامه های جاوایی و نه توسعه ی آنها را داشتیم نصب JRE کافیست.

JVM: سرآمد Java Virtual Machine است به معنی "ماشین مجازی جاوا". یک مجموعه است که اجرای یک برنامه جاوایی را برای کامپیوتر ممکن می کند. در واقع JVM بایت کدها را تفسیر و اجرا می کند.
JVM مهمترین جز JRE است. ساختار JVM استکی است

برای اینکه بدانید نسبت این سه ابزار به چه شکل است به تصویر زیر دقت کنید:
JDK