در این مقاله تفاوت های اساسی بین JDK ، JRE و JVM را یاد خواهید گرفت.
JVM چیست؟
JVM (ماشین مجازی جاوا) یک ماشین انتزاعی است که سیستم را قادر می سازد برنامه جاوا را اجرا کند.
هنگامی که برنامه جاوا را اجرا می کنید ، کامپایلر جاوا ابتدا کد جاوا را به بایت کد (bytecode) کامپایل می کند. سپس ، JVM بایت کد را به کد ماشین محلی تبدیل می کند (مجموعه ای از دستورالعمل هایی که CPU کامپیوتر مستقیما آن ها را اجرا می کند).
جاوا یک زبان مستقل از پلت فرم است. زیرا وقتی کد جاوا را می نویسید ، در واقع برای JVM نوشته می شود نه دستگاه فیزیکی (رایانه) شما. از آنجا که JVM بایت کد جاوا را که مستقل از سیستم عامل است اجرا می کند ، جاوا مستقل از پلت فرم است.
JRE چیست؟
JRE مخفف Java Runtime Environment به معنای محیط اجرای جاوا است. JRE شامل JVM و مجموعهای از کتابخانهها و فایلهای پشتیبانیکنندهای است که برای اجرای برنامههای جاوا نیاز است. به بیان دیگر، JRE محیطی را فراهم میکند که برنامههای جاوا بتوانند در آن اجرا شوند. اگر فقط قصد دارید برنامههای جاوا را اجرا کنید و نیازی به توسعه و کامپایل برنامهها ندارید، نصب JRE کافی است. JRE فاقد ابزارهای توسعه مثل کامپایلر (javac) است و تنها شامل اجزای ضروری برای اجرای برنامهها است. این محیط اجرایی به کاربران اجازه میدهد تا بدون نیاز به داشتن ابزارهای توسعه، برنامههای نوشتهشده به زبان جاوا را اجرا کنند.
JDK چیست؟
JDK مخفف Java Development Kit به معنای کیت توسعه جاوا است. JDK یک مجموعه کامل برای توسعهدهندگان جاوا است که شامل JRE و همچنین ابزارهای توسعهای مثل کامپایلر (javac)، دیباگر (jdb)، و سایر ابزارهای مرتبط با توسعه و کامپایل برنامههای جاوا میباشد. اگر قصد دارید به توسعه برنامههای جاوا بپردازید، نیاز به JDK دارید. این کیت توسعه شامل همه چیزهایی است که برای نوشتن، کامپایل، دیباگ و اجرای برنامههای جاوا لازم است. با استفاده از JDK، میتوانید کدهای جاوا را به بایتکد تبدیل کنید، این بایتکدها را دیباگ کنید و برنامههای خود را تست و اجرا نمایید. JDK همچنین شامل ابزارهایی مانند javadoc برای تولید مستندات API و jps برای مدیریت پروسههای جاوا است.
اگر می خواهید برنامه های جاوا را توسعه دهید ، JDK را دانلود کنید.
در عکس زیر رابطه بین JVM ، JRE و JDK بیان شده است