در این فصل به تعریف مهم JVM، JRE و JDK در زبان برنامه نویسی جاوا میپردازیم. ما همچنین تفاوت بین JVM، JRE و JDK را مورد بحث قرار میدهیم.
نکنولوژی جاوا هم یک زبان برنامه نویسی و هم یک پلتفرم است. زبان برنامه نویسی جاوا یک زبان شیگرا سطح بالا است که نحو (syntax) و سبک خاصی دارد. پلتفرم جاوا محیط خاصی است که برنامههای کاربردی زبان برنامه نویسی جاوا در آن اجرا میشوند.
بیایید با JDK شروع کنیم؟
۱) JDK (کیت توسعه جاوا)
JDK (کیت توسعه جاوا) ابر مجموعهای از JRE است و شامل همه چیزهایی است که در JRE وجود دارد، به علاوه ابزارهایی مانند کامپایلر، دیباگر، JavaDoc، keytool و غیره که برای توسعه و اجرای برنامهها ضروری هستند.
نمودار زیر نشان میدهد که JDK (کیت توسعه جاوا) یک کیت توسعه نرمافزار است که شامل همه چیزهایی است که در JRE وجود دارد، به علاوه ابزارهایی مانند کامپایلر، دیباگر، JavaDoc، keytool و غیره که برای توسعه و اجرای برنامهها جاوا ضروری هستند.
JDK یک نرم افزار مخصوص پلتفرم است و به همین دلیل است که ما نصب کنندههای جداگانهای برای سیستم عاملهای ویندوز، مک و یونیکس داریم. برای مثال، اگر به صفحه دانلود جاوا در https://www.oracle.com/in/java/technologies/javase-downloads.html بروید، نصب کنندههای مختلفی برای سیستم عاملهای مختلف (ویندوز، لینوکس، مک و غیره) مشاهده خواهید کرد.
۲) JVM (ماشین مجازی جاوا)
JVM جزء بسیار مهم زبان برنامه نویسی جاوا است. هنگامی که برنامه جاوا را اجرا میکنید، کامپایلر جاوا ابتدا کد جاوا شما را به bytecode کامپایل میکند. سپس، JVM بایت کد (bytecode) را به کد ماشین بومی (مجموعهای از دستورالعملهایی که CPU کامپیوتر مستقیماً اجرا میکند) ترجمه میکند.
JVM کد بایت را به زبان ماشین ترجمه میکند و از آنجایی که زبان ماشین به سیستم عامل مورد استفاده بستگی دارد، واضح است که JVM به پلتفرم (سیستم عامل) وابسته است.
JVM مجازی نامیده میشود زیرا رابطی را ارائه میدهد که به سیستم عامل اصلی و سخت افزار ماشین بستگی ندارد.
۳) JRE (Java Runtime Environment , محیط زمان اجرا جاوا)
Java Runtime Environment (JRE) کتابخانهها، ماشین مجازی جاوا و سایر اجزا را برای اجرای اپلتها و برنامههای کاربردی نوشته شده به زبان برنامه نویسی جاوا فراهم میکند.
JRE حاوی هیچ ابزار توسعهای مانند کامپایلر جاوا، دیباگر، JShell و غیره نیست.
اگر فقط میخواهید یک برنامه جاوا را اجرا کنید، فقط میتوانید JRE را نصب کنید. شما به JDK نیاز ندارید زیرا نیازی به توسعه یا کامپایل کد منبع جاوا نیست.
نمودار زیر نشان میدهد که JRE (محیط زمان اجرا جاوا) یک بسته نرمافزاری است که کتابخانههای کلاس جاوا را به همراه ماشین مجازی جاوا (JVM) و سایر مؤلفهها برای اجرای برنامههای کاربردی نوشته شده در برنامه نویسی جاوا فراهم میکند.
JRE = JVM + کلاسهای پکیجهای جاوا (مانند util، math، lang، awt، swing و غیره) + کتابخانههای زمان اجرا.
۴) JDK در مقابل JRE در مقابل JVM
بیایید به برخی از تفاوتهای مهم بین JDK، JRE و JVM نگاه کنیم.
- JDK برای اهداف توسعه است در حالی که JRE برای اجرای برنامه های جاوا است.
- JDK و JRE هر دو حاوی JVM هستند تا بتوانیم برنامه جاوا خود را اجرا کنیم.
- JVM قلب زبان برنامه نویسی جاوا است و استقلال پلتفرم را فراهم میکند.
نمودار زیر رابطه بین JVM، JRE و JDK را نشان میدهد: