JDK چیست؟ – همه دانستنی ها در مورد کیت توسعه جاوا
JDK یا همان کیت توسعه جاوا (Java Development Kit)، مؤلفهای ضروری برای توسعه نرم افزارهای جاوا به حساب میآید. از نظر فنی میتوان گفت که JDK پیادهسازی نسخه استاندارد جاوا یا نسخه Enterprise آن است. در این مطلب به طور جامع به این سوال پاسخ داده شده است که JDK چیست و همچنین همه موارد مرتبط با آن ازجمله تفاوت JDK با JVM و JRE و سایر موارد نیز مورد بررسی قرار گرفتهاند.
JDK چیست ؟
JDK یا کیت توسعه جاوا شامل مجموعهای از ابزارهای توسعه نرم افزار و کتابخانههای قابل پشتیبانی است که با «محیط زمان اجرا جاوا» (Java Runtime Environment | JRE) و «ماشین مجازی جاوا» (Java Virtual Machine | JVM) ترکیب میشود. به عبارت دیگر، کیت توسعه جاوا محیط توسعه نرم افزاری «چند پلتفرمی» یا «چند سکویی» (Cross Platform) به حساب میآید که مجموعهای از ابزارها و کتابخانههای لازم برای توسعه برنامههای نرم افزاری مبتنی بر جاوا را ارائه میدهد. میتوان گفت که کیت توسعه جاوا، «پکیج» یا همان «بسته» (Package) اصلی مورد استفاده در جاوا به حساب میآید.
معمولاً برنامه نویسان تازهکار زبان جاوا، معنی عبارت JDK و JRE را با یکدیگر اشتباه میگیرند و در خصوص مفهوم آنها دچار سردرگمی میشوند. اگر توسعه دهندهای قصد داشته باشد فقط برنامه جاوای خود را در سیستم پیادهسازی کند، برای این کار باید از محیط زمان اجرای جاوا یا همان JRE استفاده کند. با این حال، اگر نیاز باشد که اپلیکیشن یا نرم افزاری مبتنی بر جاوا توسعه شود، به ابزارهای دیگری به جز JRE، ازجمله JDK نیز نیاز است. اینجاست که برنامهنویسان سعی میکنند یاد بگیرند که JDK چیست و از آن کمک بگیرند.
به طور کلی JDK در واقع SDK یا همان «کیت توسعه نرم افزار» (Software Development Kit) است که همه ابزارها و نرم افزارهای لازم برای توسعه برنامههای جاوا را شامل میشود، با این تفاوت که JDK فقط در زبان جاوا و زبانهای مبتنی بر جاوا استفاده میشود و مختص به این زبان برنامه نویسی است.
کیت توسعه جاوا چگونه به وجود می آید؟
کیت توسعه جاوا، پیادهسازی یکی از پلتفرمهای جاوای زیر به حساب میآید:
- «نسخه استاندارد جاوا» (Java Standard Edition| SE): پلتفرم محاسباتی برای توسعه و استقرار کدهای قابل انتقال جاوا برای محیط دسکتاپ یا سرور به حساب میآید.
- «نسخه سازمانی جاوا» (Java Enterprise Edition | Java EE): این نسخه دارای مجموعهای از ویژگیهای جاوای استاندارد همراه با قابلیتهای توسعه Enterprise (سازمانی یا مقیاس بزرگ) ازجمله محاسبات توزیع شده و خدمات وب است.
- «نسخه میکرو جاوا» (Java Micro Edition | Java ME): این نسخه پلتفرم محاسباتی جهت توسعه و اسقرار کدهای جاوا برای تعبیهسازی دستگاههایی ازجمله میکروکنترلرها، سنسورها، «دروازهها» (Gateway)، موبایلها، دستیارهای شخصی دیجیتال، چاپگرها، «ستآپ باکسهای تلویزیون» (TV Set-Top Box) و سایر موارد به حساب میآید.
محتویات JDK چیست ؟
JDK دارای یک ماشین مجازی جاوا یا همان JVM و چند منبع دیگر است که برای توسعه برنامههای جاوا ضروری هستند. برخی از این بخشها و ابزارهای ضروری در ادامه ارائه شدهاند:
- محیط زمان اجرای جاوا یا JVM
- «مفسر» (Interpreter) یا «بارگذاری کننده» (Loader) کدهای جاوا
- «کامپایلر» (Compiler) جاوا (Javac)
- «بایگانی کننده» (Archiver) جاوا یا «Jar»
JRE موجود در JDK گاهی «محیط زمان اجرا خصوصی» (Private Runtime) نامیده میشود؛ زیرا از JRE معمولی جدا شده است و محتوای بیشتری دارد. این محیط زمان اجرای خصوصی در کیت توسعه جاوا، شامل JVM و همه کتابخانههای کلاس موجود در محیط محصول میشود. همچنین، دارای کتابخانههای اضافی مفید برای توسعه دهندگان ازجمله کتابخانههای بینالمللی و IDL است.
چرا از JDK استفاده می شود؟
در این بخش سعی شده است که برخی از دلایل بسیار حیاتی استفاده از JDK را مورد بررسی قرار دهیم. در ادامه این موارد فهرست شدهاند:
- JDK شامل ابزارهای مختلفی میشود که برای نوشتن برنامههای جاوا مورد نیاز هستند.
- JDK دارای JRE برای پیادهسازی برنامههای جاوا است.
- این ابزار زبان برنامه نویسی جاوا، دارای Appletviewer، لانچر یا راهانداز برنامههای جاوا، کامپایلر و سایر موارد است و ابزاری کامل به حساب میآید.
- کامپایلر موجود در JDK در تبدیل کدهای نوشته شده به بایتکد کمک میکند.
- لانچر برنامههای جاوا موجود در JDK، به باز کردن JRE کمک میکند. سپس همه جزئیات ضروری را بارگذاری میکند و همه متدهای اصلی پیادهسازی میشوند.
JDK های معروف
برخی از JDKهای بسیار معروف و محبوب در ادامه فهرست شدهاند:
- Oracle JDK: این کیت توسعه جاوا، محبوبترین JDK و توزیع کننده اصلی نسخه یازدهم جاوا به حساب میآید.
- OpenJDK: این JDK برای استفاده در JDK 15 ،JDK 14 و JMC آماده است.
- Azul Systems Zing: این کیت توسعه نرم افزار، JDK کارآمد و با دیرکرد پایین برای سیستم عامل لینوکس به حساب میآید.
- Azul Systems: این SDK، مبتنی بر برند Zulu برای سیستم عاملهای لینوکس، ویندوز، مک او اس ایکس است.
- IBM J9 JDK: از این کیت توسعه نرم افزار در سیستم عاملهای AIX، لینوکس، ویندوز و سایر موارد استفاده میشود.
- Amazon Corretto: این کیت توسعه نرم افزار، جدیدترین گزینه با ساخت بدون هزینهای از OpenJDK و پشتیبانی طولانی مدت است.
معرفی فیلم های آموزش جاوا فرادرس
دورههای آموزشی فرادرس بر اساس موضوع در مجموعههای آموزشی متفاوتی دستهبندی میشوند. یکی از این مجموعهها فیلمهای آموزش برنامه نویسی جاوا است که جهت آشنایی علاقهمندان با این مجموعه آموزشی و شروع برنامه نویسی جاوا در سطوح مختلف در این بخش معرفی شدهاند. در زمان تدوین این مقاله، مجموعه دورههای جاوا فرادرس حاوی بیش از ۹۵ ساعت محتوای آموزشی است و شامل ۱۹ دوره مختلف میشود. در ادامه برخی از دورههای مختلف این مجموعه به طور مختصر معرفی شدهاند:
- فیلم آموزش برنامه نویسی جاوا Java (طول مدت: ۱۹ ساعت و ۱۹ دقیقه، مدرس: دکتر سید مصطفی کلامی هریس): این فرادرس برای علاقهمندان به برنامه نویسی جاوا مناسب است و به طور جامع و از پایهایترین مفاهیم زبان برنامه نویسی جاوا در آن تدریس میشود. برای مشاهده فیلم دوره آموزش برنامه نویسی جاوا Java + کلیک کنید.
- فیلم آموزش پایگاه داده ها در جاوا (طول مدت: ۲ ساعت و ۱۱ دقیقه، مدرس: سید رضا هاشمیان): در این دوره آموزشی، پیادهسازی پروژههای زبان جاوا و ذخیره دادههای آنها در پایگاه دادههای «SQL Server» ،«MySQL» و «Access» و انجام اعمال اصلی بر روی آن دادهها انجام میشود. برای مشاهده فیلم دوره آموزش پایگاه دادهها در جاوا + کلیک کنید.
- فیلم آموزش Java/IO برای کار با فایل ها در جاوا به همراه پروژه دفترچه یادداشت (طول مدت: ۳ ساعت و ۲۴ دقیقه، مدرس: سید رضا هاشمیان): در این فرادرس به بررسی پکیج (بسته) «Java I/O» و نحوه استفاده و دسترسی به آنها پرداخته میشود. برای مشاهده فیلم آموزش Java/IO برای کار با فایل ها در جاوا به همراه پروژه دفترچه یادداشت + کلیک کنید.
- فیلم آموزش پروژه محور جاوا – تولید QR code و ایجاد و اسکن بارکد (طول مدت: ۴۸ دقیقه، مدرس: محمد جباری): در این دوره آموزشی به بررسی بارکدهای گوناگون پرداخته میشود و همچنین روش استفاده از زبان جاوا برای ساخت بارکدها و «QR code» در آن شرح داده شده است. برای مشاهده فیلم دوره آموزش پروژه محور جاوا – تولید QR code و ایجاد و اسکن بارکد + کلیک کنید.
- فیلم آموزش پیاده سازی تحلیل گر لغوی کامپایلرها با جاوا (طول مدت: ۶ ساعت و ۱۷ دقیقه، مدرس: احسان یزدانی): این فرادرس به پیادهسازی تحلیلگر لغوی در کامپایلرها به وسیله زبان جاوا اختصاص دارد. برای مشاهده فیلم دوره آموزش پیاده سازی تحلیل گر لغوی کامپایلرها با جاوا + کلیک کنید.
- فیلم آموزش پروژه محور جاوا – کار با فایل های PDF پی دی اف (طول مدت: ۴ ساعت و ۳۴ دقیقه، مدرس: محمد جباری): در این دوره آموزشی بررسی انواع فایلهای PDF با استفاده از برنامه نویسی جاوا و کتابخانه Spire.PDF انجام میشود. برای مشاهده فیلم دوره آموزش پروژه محور جاوا – کار با فایل های PDF پی دی اف + کلیک کنید.
نصب و تنظیمات JDK چگونه است؟
نصب JDK برای محیط توسعه بسیار ساده است و با استفاده از مراحل زیر میتوان آن را انجام داد:
- در مرحله اول باید JDK دانلود و نصب شود. میتوان آن را از لینک [+] دانلود کرد.
- آخرین نسخه JDK را انتخاب و با استفاده از کلیک کردن روی آن و انتخاب مسیر مورد نظر، دانلود JDK آغاز میشود.
- پس از دانلود باید بررسی شود که فایل JDK به درستی در آدرس مورد نظر مانند «C:\Program Files\Java\jdk11.0.9. » نصب شده باشد.
تنظیم JAVA_HOME برای سیستم عامل ویندوز
برای تنظیم این بخش بهتر است مراحل ارائه شده زیر انجام شوند:
- باید روی بخش «My Computer» سیستم راست کلیک و «Properties» انتخاب شود.
- سپس باید از بالای صفحه وارد تب «Advanced» شد و بخش «Environment Variables» را انتخاب کرد. پس از آن، «JAVA_HOME» را میتوان ویرایش کرد و آدرس دقیق مکانی را قرار داد که نرم افزار JDK در آن ذخیره شده است. برای مثال، «C:\Program Files\Java\jdk11.0.9 » مکان پیشفرضی است که JDK در ویندوز در آن ذخیره میشود.
جاوا همه بخشهای سازگار قبلی را حفظ و نگهداری میکند. بنابراین، زمانی که آخرین نسخه JDK دانلود میشود، نباید نگران از دست رفتن اطلاعات و ویژگیهای قبلی بود. پس از دانلود و نصب JDK و JRE دستورات جاوا به «خط فرمان» (Command Line) ویندوز اضافه میشوند. میتوان نسخه آنها را با استفاده از دستورjava -version مشاهده و بررسی کرد. در بعضی از مواقع نیاز است که یک بار کامپیوتر را پس از نصب JDK مجدد راهاندازی یا Restart کرد تا این ابزار جاوا به خوبی روی سیستم نصب شود. دستوری که پس از نصب در خط فرمان ویندوز ظاهر میشود در تصویر زیر نمایش داده شده است:
کامپایل و پیاده سازی کدهای جاوا با JDK
میتوان با استفاده از کامپایلر JDK، فایلهای Text جاوا را به برنامههای قابل از پیادهسازی تبدیل کرد. قطعه کدهای Text با زبان جاوا به «بایتکدهایی» (Bytecode) تبدیل میشوند و پس از کامپایل شدن.class ، به عنوان پسوند به آنها اضافه میشود. برای شروع پیادهسازی کدها با استفاده از JDK، باید ابتدا یک فایل Text ایجاد و با نامی ذخیره شود. در مثال زیر این فایل با نام «Hello.java» ذخیره شده است:
1class Hello{
2 public static void main (String[] args) {
3 System.out.println("Hello Geek!");
4 }
5}
پس از کدهای فوق، میتوان به راحتی از دستورjavac ، برای پیادهسازی هدف در زبان برنامه نویسی جاوا استفاده کرد. باید حتماً به این نکته توجه داشت که نیاز است از نوشتن آدرس صحیح فایل Text جاوا در خط فرمان همراه با دستورjavac اطمینان حاصل شود، در غیر این صورت خطای «The system cannot find the path specified» رخ میدهد. دستوری که برای خط فرمان نوشته میشود باید شبیه به مثال زیر برای قطعه کد Hello.java باشد. Hello در این مثال نام فایل کدها است و مسیر کامل این فایل، قبل از آن و به طور کامل وارد میشود. همچنین مسیرjavac.exe باید درون دابل کوتیشن قرار بگیرد. این دستور در ادامه نمایش داده شده است:
“C:\Program Files\Java\jdk-11.0.9\bin\javac.exe” Hello.java
پس از پیادهسازی دستور فوق به این موضوع نیز باید دقت شود که فایل ایجاد شده «Hello.class» دقیقاً در همان پوشهای ایجاد میشود که قبل از آن، فایل «Hello.java» در آن قرار داشت. حال پس از ایجاد این فایل، میتوان کدهای خود را به راحتی و با استفاده از دستورjava Hello پیادهسازی کرد. نتیجه دلخواه با استفاده از این دستور فراهم خواهد شد. در ادامه دستورهای این بخش ارائه شدهاند:
C:\Users\Pinaki\Documents>java hello_world (Output:) Hello Geek!
در بخش بعدی از مطلب «JDK چیست» پس از بررسی برخی از دورههای آموزش برنامه نویسی جاوا، به بررسی و شرح مؤلفه Jar در JDK پرداخته شده است.
مؤلفه Jar در JDK چیست ؟
JDK شامل ابزارهای مفید بسیاری است که در میان آنها پس از Javac، ابزار Jar محبوبتترین ابزار کیت توسعه جاوا به حساب میآید. فایل Jar یک بسته کامل از کلاسهای جاوا است. پس از ایجاد فایلهای.class ، میتوان همه آنها را با یکدیگر در یک فایل با فرمت.jar قرار داد. Jar آنها را به شکلی قابل پیشبینی فشرده میکند و ساختار میدهد. حال برای درک بیشتر میخواهیم فایل «Hello.class» را به فایل Jar تبدیل کنیم.
قبل از شروع به انجام این بخش، باید به این موضوع توجه شود که مسیر «Hello.java» به درستی در خط فرمان نوشته شده باشد و همه این فایلها باید در یک پوشه ذخیره شوند. حال برای ایجاد فایل Jar از دستور زیر در خط فرمان استفاده میشود:
C:\Users\Pinaki\Documents>”c:\Program Files\Java\jdk-11.0.9\bin\jar.exe” –create –file Hello.jar Hello.class
در این مرحله، میتوان مشاهده کرد که فایل «Hello.jar» در همان پوشهای ایجاد میشود که فایلهای «Hello.class» و «jar.exe» در آن قرار داشتند. میتوان از فایل Jar با اضافه کردن آن به «مسیر کلاس» (Classpath) خود و پیادهسازی برنامه در داخل آن استفاده کرد. در دستورات زیر «-cp » مخففی برای کلمه Classpath است که امکان اضافه کردن Jar را به مسیر مورد نظر میدهد.
java -cp hello_world.jar hello_world
در بخش بعدی از مطلب «JDK چیست» مؤلفههای مهم JDK بررسی و فهرست شدهاند.
مؤلفه های مهم JDK کدامند؟
در ادامه برخی از ابزارها و مؤلفههای مهم و کاربردی کیت توسعه جاوا دستهبندی و ارائه شدهاند:
- javac: با استفاده از این مؤلفه، کامپایلر جاوا، کدهای منبع را به بایتکدهای جاوا تبدیل میکند.
- java: این ابزار، بارگذاری کننده اپلیکیشنهای جاوا است.
- javap: جدا کننده فایلهای کلاس است.
- javadoc: تولید اسناد با استفاده از این ابزار انجام میشود.
- jar: این ابزار بایگانی کننده جاوا است که امکان مدیریت فایلهای جاوا را ایجاد میکند.
- xjc: این ابزار طرح و فایلهای XML را دریافت و کلاسهای جاوا را تولید میکند.
- apt: ابزار برچسبنویسی جاوا به حساب میآید.
- jdb: دیباگر یا همان خطایاب جاوا است.
- jmc: این ابزار، کنترل مأموریت در جاوا را انجام میدهد.
- JConsole: نظارت و مدیریت کنسول با استفاده از این ابزار انجام میشود.
- pack200: ابزار فشردهسازی فایلهای JAR است.
- extcheck: ابزاری سودمند برای تشخیص ایرادها در فایل JAR به حساب میآید.
- idlj: این ابزار کامپایلر IDL جاوا است.
- keytool: ابزار نگهداری و سر و کار داشتن با «Keystore» برای جاوا به حساب میآید.
- jstat: ابزار نظارت آماری JVM به حساب میآید.
- jstatd: همان jstat به صورت آزمایشی است و حرف «d» در آخر نام آن، مخفف کلمه «daemon» به حساب میآید.
- jshell: این ابزار در نسخه نهم جاوا معرفی شده است.jstack: «پشته» (Stack) ردیابی جاوا را چاپ میکند (به صورت آزمایشی).
- jrunscript: این ابزار پوسته اسکریپت خط فرمان جاوا است.
- jhat: ابزار تجزیه و تحلیل «هیپ» (Heap) جاوا به حساب میآید (به صورت آزمایشی).
- jpackage: با استفاده از این ابزار میتوان اپلیکیشنهای کاربردی مستقلی تولید کرد.
- javaws: «راهانداز وب» (Web Start Launcher) برای اپلیکیشنهای «JNLP» به حساب میآید.
- javah: «هدر» (Header) C و تولید کننده «ریشه» (Stub) است.
- jarsigner: ابزار تأیید و اعتبارسنجی جاوا به حساب میآید.
- jinfo: برای پیکربندی اطلاعات از این ابزار استفاده میشود (به صورت آزمایشی).
- javafxpackager: ابزار بستهبندی و تأیید برنامههای «JavaFX» به حساب میآید.
- jlink: میتوان از این ابزار برای اسمبل و بهینهسازی کردن مجموعهای از ماژولها و ابزارها و وابستگیهای مورد نیاز آنها در یک تصویر زمان اجرا سفارشی استفاده کرد.
- jmod: از این ابزار jmod برای ایجاد فایلهای JMOD و فهرستی از محتوای موجود در فایل JMOD استفاده میشود.
- jdeps: از دستور jdeps برای راهاندازی تحلیلگر وابستگیهای کلاس جاوا استفاده میشود.
- jdeprscan: از ابزار jdeprscan به عنوان ابزار تجزیه و تحلیل ثابتی استفاده میشود که فایلهای Jar یا برخی دیگر از فایلهای کلاس را برای استفاده از عناصر «رابط برنامهنویسی اپلیکیشن» (Application Programming Interface | API) منسوخ شده اسکن میکند.
- AppletViewer: معمولاً از این ابزار با استفاده از دستور خط فرمان «appletviewer» برای راهاندازی AppletViewerها و پیادهسازی Appletها بیرون از مرورگر وب استفاده میشود. اگرچه این ابزار در JDK نسخه نهم موجود و پشتیبانی شده است. اما به احتمال زیاد در نسخههای آینده حذف خواهد شد و به جای آنها از «Java Web Start» یا برنامههای کاربردی مستقل استفاده میشود. با استفاده از این ابزار میتوان اپلیکیشنها را بدون استفاده از مرورگرهای وب اشکالزدایی کرد.
تفاوت JRE و JDK چیست؟
JRE یا «محیط زمان اجرای جاوا» (Java Runtime Environment) بخشی از کیت توسعه جاوا به حساب میآید اما گاهی با JDK اشتباه گرفته میشود، بنابراین در این بخش به بررسی تفاوتهای این دو ابزار پرداخته شده است. این ابزار پیادهسازی از JVM یا همان ماشین مجازی جاوا به حساب میآید و به طور خاص محیطی برای اجرای برنامههای جاوا است. ابزار JRE را با توجه به ویژگیهایی که دارد میتوان آن را به عنوان ابزاری «وابسته به پلتفرم» (Platform Dependent) در نظر گرفت.
همچنین JVM شامل کدهای باینری جاوا و برخی کلاسهای دیگر برای پیادهسازی سادهتر برنامه است. این ابزار شامل ابزارهای توسعهای ازجمله کامپایلر، دیباگر و سایر موارد نمیشود. اگر توسعه دهندهای قصد داشته باشد که فقط برنامه خود را پیادهسازی کند، نیاز دارد که تنها ابزار JRE را نصب کند و نیازی به نصب JDK ندارد؛ زیرا لازم نیست به توسعه و کامپایل کدها بپردازد. در ادامه تفاوتهای کلیدی این دو ابزار ارائه و بررسی شدهاند.
تفاوت JRE و JDK در تعریف آن ها
JDK برای توسعه اپلیکیشنها استفاده میشود و دارای ابزارهای توسعه بسیاری ازجمله دیباگر، کامپایلر و سایر موارد است، اما ابزار JRE پیادهسازی از JVM به حساب میآید و به طور خاص فقط برای پیادهسازی برنامههای نوشته شده با زبان جاوا مورد استفاده قرار میگیرد.
تفاوت عملکردی JRE و JDK چیست ؟
JDK ابزاری است که به طور عمده برای پیادهسازی کدها و توسعه عملکردهای اصلی برنامه مورد استفاده قرار میگیرد. در حالی که JRE برای ایجاد محیطی جهت پیادهسازی کدها استفاده میشود. همچنین این دو ابزار را میتوان به عنوان ابزارهایی وابسته به پلتفرم در نظر گرفت. به عبارت دیگر، برای هر پلتفرم متفاوت، نیاز به JDK یا JRE متفاوتی وجود دارد.
تفاوت JRE و JDK در نوع ابزارهای آن ها
از آنجا که JDK مسئولیت بررسی و انجام اهداف توسعه یک برنامه را بر عهده دارد، شامل ابزارهایی میشود که توسعه، اشکالیابی و نظارت برنامهها را انجام میدهند. از سویی دیگر، JRE هدف و مسئولیتی در راستای توسعه برنامهها ندارد، پس نیازی به ابزارهایی ازجمله کامپایلر، دیباگر و سایر موارد نخواهد داشت. اما شامل کتابخانههای کلاس و فایلهای پشتیبانی مورد نیاز برای پیادهسازی برنامه میشود. به طور کلی JDK شامل JRE و سایر ابزارهای توسعه است و JRE، ابزار JVM و سایر کتابخانههای کلاس را شامل خواهد شد. در بخش بعدی از مطلب «JDK چیست» به بررسی تفاوتهای JDK و JVM میپردازیم.
تفاوت JDK و JVM چیست؟
تعریف و مفهوم JDK در بخشهای قبلی به طور کامل شرح داده شد و در این بخش به بررسی JVM برای درک تفاوت آن با JDK پرداخته شده است. JVM سرنامی برای «Java Virtual Machine» یعنی ماشین مجازی جاوا به حساب میآید. این ابزار محیط زمان اجرایی برای هدایت کدها یا اپلیکیشنهای جاوا است. JVM را میتوان به عنوان ماشین «انتزاعی» (Abstract) در نظر گرفت که بایتکدهای جاوا را به زبان ماشین تبدیل میکند. همچنین این ابزار توانایی پیادهسازی برنامههای نوشته شده برنامه نویسان با زبانهای دیگر را دارد. JVM این برنامهها را به بایتکد تبدیل میکند. به دلیل اینکه این ابزار وجود خارجی فیزیکی ندارد، به عنوان ماشین مجازی شناخته میشود.
JVM اساساً بخشی از JRE به شمار میرود و نمیتوان آن را به صورت جداگانه دانلود و نصب کرد. برای نصب JVM ابتدا باید JRE نصب شود و این ابزار برای بیشتر پلتفرمهای سخت افزاری و نرم افزاری در دسترس است. در زبانهای برنامه نویسی مختلف، کامپایلر برای تولید کدهای ماشین برای هر سیستمی عملکرد مجزایی دارد. با این حال، فقط کامپایلر جاوا کدهایی را برای یک ماشین مجزا به نام JVM تولید میکند. JVM در درجه اول وظایف زیر را انجام میدهد:
- محیط زمان اجرایی فراهم میکند.
- اعتبارسنجی کدها را انجام میدهد.
- بارگذاری کدها را انجام میدهد.
- اجرای کدها را انجام میدهد.
در ادامه مطلب «JDK چیست» برخی از تفاوتهای JDK و JVM به طور خلاصه بررسی میشوند.
تفاوت عملکردی JVM و JDK چیست ؟
به طور کلی JDK به اجرای کدها کمک میکند و عملکرد آن در ارتباط با توسعه برنامهها است. از سوی دیگر، JVM همه پیادهسازیها را مشخص میکند و مسئولیت آمادهسازی همه پیادهسازیها برای JRE را دارد. این ابزار برعکس JDK و JRE، به صورت «مستقل از پلتفرم» (Platform Independent) عمل میکند. یعنی نیازی نیست که برای پلتفرمهای مختلف از JVMهای متفاوتی استفاده شود. همچنین JVM هیچ ابزاری برای توسعه نرم افزار ندارد.
جمعبندی
با پیشرفت روزافزون برنامه نویسی و اپلیکیشنهای ساخته شده با آن در چند دهه اخیر، توسعه دهندگان و برنامه نویسان نیازمند ابزارها و روشهایی هستند که بتوانند با استفاده از آنها برنامه نویسی و توسعه اپلیکیشنها را سادهتر و سریعتر کنند و کیفیت ساخت آنها را افزایش دهند. بنابراین زبانهای برنامه نویسی دارای ابزارهایی برای سادهتر کردن روند کدنویسی هستند. ابزاری مانند JDK یا همان کیت توسعه جاوا برای توسعه اپلیکیشنهای جاوا وجود دارد که با استفاده از آن کدنویسی بسیار سادهتر خواهد شد و دیگر نیازی نیست از مفاهیم ابتدایی، برنامهها را کدنویسی کرد. همچنین بیشتر مؤلفهها و ابزارهای مورد نیاز همراه با JDK روی سیستم نصب خواهند شد.
در این مطلب یاد گرفتیم که JDK چیست و به طور جامع به همه تعاریف و مفاهیم JDK پرداخته شد. همچنین، همه موارد مرتبط به آن ازجمله روش عملکرد، مؤلفهها و نصب آن نیز مورد بررسی قرار گرفتند. در نهایت برای درک بهتر برنامه نویسی جاوا و یادگیری کیت توسعه جاوا، برخی از دورههای آموزشی جاوای فرادرس نیز در این مقاله به علاقهمندان و دانشجویان معرفی شدند.