JDK چیست؟
JDK مخفف Java Development Kit است و به معنای کیت توسعه جاوا در آموزش های برنامه نویسی میباشد. این کیت مجموعهای کامل از ابزارها و کتابخانههایی است که یک برنامهنویس جاوا برای توسعه، کامپایل و اجرای برنامههای جاوا به آن نیاز دارد.
اجزای اصلی JDK:
- کامپایلر (javac): این ابزار کدهای منبع جاوا (با پسوند .java) را به بایتکد (با پسوند .class) تبدیل میکند. بایتکدها قابل فهم برای ماشین مجازی جاوا (JVM) هستند.
- ماشین مجازی جاوا (JVM): قلب تپنده جاوا است. JVM بایتکدها را به کدهای ماشین قابل فهم برای پردازنده تبدیل کرده و آنها را اجرا میکند.
- کتابخانههای کلاس: مجموعهای غنی از کلاسها و توابع از پیش نوشته شده که برای انجام کارهای مختلف در برنامهنویسی جاوا مورد استفاده قرار میگیرند. این کتابخانهها شامل کلاسهایی برای ورودی/خروجی، شبکه، گرافیک، پایگاه داده و بسیاری از کارهای دیگر هستند.
- ابزارهای دیباگ: برای پیدا کردن و رفع خطاهای موجود در کدهای جاوا استفاده میشوند.
- ابزارهای مستندسازی: برای ایجاد مستندات برنامههای جاوا به کار میروند.
چه کاری میتوان با JDK انجام داد؟
- نوشتن کد جاوا: با استفاده از یک ویرایشگر متن یا یک محیط توسعه یکپارچه (IDE)، کدهای جاوا را مینویسید.
- کامپایل کد: کامپایلر JDK کدهای شما را به بایتکد تبدیل میکند.
- اجرای برنامه: ماشین مجازی جاوا (JVM) بایتکدهای تولید شده را اجرا میکند.
- اشکالزدایی: با استفاده از ابزارهای دیباگ، خطاهای موجود در کدهای خود را پیدا کرده و برطرف میکنید.
- ایجاد مستندات: برای برنامههای خود مستندات ایجاد میکنید.
چرا به JDK نیاز داریم؟
- توسعه برنامههای جاوا: بدون JDK، شما نمیتوانید برنامههای جاوا را توسعه دهید.
- کامپایل کدهای جاوا: برای تبدیل کدهای منبع جاوا به فرمتی که قابل اجرا باشد، به کامپایلر JDK نیاز دارید.
- اجرای برنامههای جاوا: برای اجرای برنامههای جاوا، به ماشین مجازی جاوا که بخشی از JDK است، نیاز دارید.
JDK های معروف
با وجود اینکه شرکت اوراکل به عنوان خالق اصلی جاوا شناخته میشود، اما توسعهدهندگان و سازمانهای مختلفی نسخههای مختلفی از JDK را ارائه میدهند. در این مقاله به برخی از معروفترین JDK ها و تفاوتهای آنها میپردازیم.
۱. Oracle JDK
- توسعهدهنده: اوراکل
- ویژگیها: نسخه رسمی و مرجع JDK است که توسط اوراکل توسعه داده میشود. شامل تمام ویژگیهای استاندارد جاوا و بهروزرسانیهای امنیتی منظم است.
- مزایا: پشتیبانی رسمی، ویژگیهای کامل، بهروزرسانیهای منظم.
- معایب: برای استفاده در محیطهای تجاری، نیاز به مجوز دارد.
۲. OpenJDK
- توسعهدهنده: جامعه متنباز
- ویژگیها: نسخه متنباز JDK است که بر اساس کد منبع Oracle JDK ساخته شده است. بسیاری از توزیعهای لینوکس از OpenJDK به عنوان JDK پیشفرض استفاده میکنند.
- مزایا: رایگان، متنباز، جامعه بزرگ توسعهدهندگان.
- معایب: ممکن است برخی از ویژگیهای خاص Oracle JDK در آن موجود نباشد.
۳. optOpenJDK
- توسعهدهنده: جامعه AdoptOpenJDK
- ویژگیها: یک توزیع باینری از OpenJDK است که توسط جامعه AdoptOpenJDK ساخته میشود و هدف آن ارائه نسخههای با کیفیت بالا و با پشتیبانی طولانیمدت از OpenJDK است.
- مزایا: رایگان، پشتیبانی طولانیمدت، سازگاری با استانداردهای OpenJDK.
۴. Azul Zulu
- توسعهدهنده: Azul Systems
- ویژگیها: یک توزیع باینری از OpenJDK است که توسط Azul Systems ساخته میشود. Azul Zulu بر روی عملکرد و پایداری تمرکز دارد و اغلب برای محیطهای تولید استفاده میشود.
- مزایا: عملکرد بالا، پایداری، پشتیبانی تجاری.
۵. Amazon Corretto
- توسعهدهنده: آمازون
- ویژگیها: یک توزیع باینری از OpenJDK است که توسط آمازون ساخته میشود و برای استفاده در محیطهای ابری آمازون بهینهسازی شده است.
- مزایا: رایگان، پشتیبانی طولانیمدت، سازگاری با محیطهای ابری آمازون.
کدام JDK را انتخاب کنیم؟
انتخاب JDK مناسب به عوامل مختلفی مانند نیازهای پروژه، محیط اجرایی، بودجه و ترجیحات شخصی بستگی دارد. در زیر برخی از نکات مهم برای انتخاب JDK آمده است:
- نیازهای پروژه: اگر به ویژگیهای خاص یا پشتیبانی تجاری نیاز دارید، Oracle JDK یا Azul Zulu ممکن است گزینههای مناسبی باشند.
- محیط اجرایی: اگر در محیطهای ابری آمازون کار میکنید، Amazon Corretto میتواند گزینه خوبی باشد.
- بودجه: اگر به دنبال یک گزینه رایگان و متنباز هستید، OpenJDK یا AdoptOpenJDK انتخابهای مناسبی هستند.
- پشتیبانی: برخی از JDK ها پشتیبانی طولانیمدت ارائه میدهند که برای پروژههای بلندمدت بسیار مهم است.
به طور کلی، OpenJDK و AdoptOpenJDK گزینههای بسیار خوبی برای اکثر توسعهدهندگان هستند.
نصب و تنظیمات JDK چگونه است؟
در این راهنما، مراحل نصب و تنظیم JDK بر روی سیستم عامل ویندوز را به صورت گام به گام توضیح میدهیم.
گام ۱: دانلود JDK
- ورود به سایت اوراکل: به سایت رسمی اوراکل (https://www.oracle.com/java/technologies/downloads/) مراجعه کنید.
- انتخاب نسخه مناسب: نسخه JDK متناسب با سیستم عامل خود (۳۲ یا ۶۴ بیتی) و نیازهای پروژه خود را انتخاب کنید.
- قبول توافقنامه مجوز: توافقنامه مجوز را مطالعه و آن را بپذیرید.
- دانلود فایل نصب: فایل نصب JDK را دانلود کنید.
گام ۲: نصب JDK
- اجرای فایل نصب: فایل دانلود شده را اجرا کنید.
- پذیرفتن توافقنامه مجوز: توافقنامه مجوز را مطالعه و آن را بپذیرید.
- انتخاب مسیر نصب: مسیر پیشفرض را انتخاب کنید یا مسیر دلخواه خود را مشخص کنید.
- شروع نصب: بر روی دکمه نصب کلیک کنید تا فرایند نصب آغاز شود.
- تکمیل نصب: پس از اتمام نصب، بر روی دکمه Close کلیک کنید.
گام ۳: تنظیم متغیرهای محیطی
- باز کردن پنجره System Properties: در نوار جستجوی ویندوز، عبارت “edit the system environment variables” را تایپ کنید و Enter را بزنید.
- ویرایش متغیر سیستم Path:
- در بخش System variables، متغیر Path را پیدا کرده و روی دکمه Edit کلیک کنید.
- یک خط جدید اضافه کرده و مسیر پوشه bin در محل نصب JDK را به آن اضافه کنید. مثلاً: C:\Program Files\Java\jdk-17.0.2\bin
- بر روی OK کلیک کنید تا تغییرات ذخیره شوند.
- ایجاد متغیر سیستم JAVA_HOME:
- در بخش System variables، روی دکمه New کلیک کنید.
- در قسمت Variable name، عبارت JAVA_HOME را وارد کنید.
- در قسمت Variable value، مسیر نصب JDK را وارد کنید (بدون بخش bin). مثلاً: C:\Program Files\Java\jdk-17.0.2
- بر روی OK کلیک کنید.
گام ۴: بررسی نصب
- باز کردن خط فرمان (Command Prompt): یک پنجره Command Prompt جدید باز کنید.
- تایپ کردن دستور java -version: این دستور نسخه JDK نصب شده را نمایش میدهد.
- تایپ کردن دستور javac -version: این دستور نسخه کامپایلر جاوا را نمایش میدهد.
اگر دستورات بالا بدون خطا اجرا شوند، به این معنی است که JDK به درستی نصب شده و تنظیمات آن صحیح است.
نکات مهم برای نصب JDK :
- انتخاب نسخه JDK: نسخه JDK را متناسب با پروژه خود انتخاب کنید. برای پروژههای جدیدتر، بهتر است از نسخههای جدیدتر JDK استفاده کنید.
- مسیر نصب: مسیر نصب JDK را به خاطر بسپارید، زیرا در مراحل بعدی به آن نیاز خواهید داشت.
- متغیرهای محیطی: تنظیم صحیح متغیرهای محیطی برای اینکه سیستم عامل بتواند JDK را پیدا کند، ضروری است.
- مشکلات رایج: اگر با مشکلاتی در حین نصب یا تنظیم JDK مواجه شدید، میتوانید در انجمنهای برنامهنویسی جاوا به دنبال راه حل باشید.
توجه: این راهنما برای سیستم عامل ویندوز نوشته شده است. مراحل نصب و تنظیم JDK در سیستم عاملهای دیگر ممکن است کمی متفاوت باشد.
با طی کردن این مراحل، شما JDK را با موفقیت نصب و تنظیم کردهاید و میتوانید به توسعه برنامههای جاوا بپردازید.
کامپایل و پیاده سازی کدهای جاوا با JDK
پس از نصب و تنظیم صحیح JDK، نوبت به استفاده از آن برای کامپایل و اجرای کدهای جاوا میرسد. در این بخش، فرآیند کامپایل و اجرای یک برنامه ساده جاوا را به طور مفصل توضیح میدهیم.
مراحل کامپایل و اجرا:
-
تن کد جاوا:
- از یک ویرایشگر متن ساده یا یک محیط توسعه یکپارچه (IDE) مانند Eclipse، IntelliJ IDEA یا NetBeans استفاده کنید.
- یک فایل با پسوند .java ایجاد کرده و کد جاوا خود را در آن بنویسید.
مثال: یک برنامه ساده برای چاپ عبارت “Hello, World!”
Javapublic class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello, World!”);
}
}
این کد را در فایلی با نام HelloWorld.java ذخیره کنید.
-
باز کردن خط فرمان (Command Prompt):
- پنجره Command Prompt را باز کرده و به دایرکتوری که فایل جاوا شما در آن قرار دارد، بروید. از دستور
cd
برای تغییر دایرکتوری استفاده کنید.
- پنجره Command Prompt را باز کرده و به دایرکتوری که فایل جاوا شما در آن قرار دارد، بروید. از دستور
-
کامپایل کردن کد:
- دستور زیر را در خط فرمان تایپ کرده و Enter را بزنید:
Bash
javac HelloWorld.java
این دستور فایل جاوا شما را کامپایل کرده و یک فایل کلاس با نام HelloWorld.class ایجاد میکند. این فایل حاوی بایتکد است که برای ماشین مجازی جاوا قابل فهم است.
- دستور زیر را در خط فرمان تایپ کرده و Enter را بزنید:
-
اجرای برنامه:
- برای اجرای برنامه، دستور زیر را در خط فرمان تایپ کرده و Enter را بزنید:
Bash
java HelloWorld
این دستور ماشین مجازی جاوا را فراخوانی کرده و فایل کلاس HelloWorld.class را اجرا میکند. در نتیجه، عبارت “Hello, World!” در خروجی نمایش داده میشود.
- برای اجرای برنامه، دستور زیر را در خط فرمان تایپ کرده و Enter را بزنید:
نکات مهم:
- مسیر فایلها: اطمینان حاصل کنید که مسیر کاملی از فایل جاوا را در دستور کامپایل مشخص کردهاید.
- نام فایل کلاس: نام فایل کلاس باید دقیقاً با نام کلاس در کد جاوا مطابقت داشته باشد.
- خطاهای کامپایل: اگر در هنگام کامپایل با خطایی مواجه شدید، پیام خطا را با دقت بررسی کرده و سعی کنید آن را برطرف کنید.
- خطاهای زمان اجرا: اگر برنامه شما با موفقیت کامپایل شود اما در هنگام اجرا با خطایی مواجه شود، این خطا مربوط به زمان اجرا است و دلایل مختلفی مانند خطاهای منطقی در کد، مشکلات ورودی/خروجی یا مشکلات مربوط به محیط اجرا میتواند داشته باشد.
مثال کامل:
C:\Users\YourName>cd Documents\JavaProjects
C:\Users\YourName\Documents\JavaProjects>javac HelloWorld.java
C:\Users\YourName\Documents\JavaProjects>java HelloWorld
Hello, World!
استفاده از IDE ها:
مراحل کلی استفاده از یک IDE:
- ایجاد یک پروژه جدید جاوا.
- نوشتن کد جاوا در ویرایشگر IDE.
- ساخت پروژه (Build): این کار مشابه کامپایل کردن در خط فرمان است.
- اجرای برنامه: با کلیک بر روی یک دکمه یا انتخاب یک گزینه از منوی IDE، برنامه خود را اجرا کنید.
+ تفاوت JRE و JDK چیست؟
- JRE: محیط زمان اجرا جاوا برای اجرای برنامههای جاوا | کاربرد: اجرای برنامههای جاوا | اجزا: JVM، کتابخانههای کلاس
- JDK: کیت توسعه برای ایجاد و کامپایل برنامههای جاوا | کاربرد: کیت توسعه برای ایجاد و کامپایل برنامههای جاوا | اجزا: JRE + کامپایلر، دیباگر و ابزارهای دیگر
چه زمانی از کدام یک استفاده کنیم؟
- JRE: اگر میخواهید یک برنامه جاوا را اجرا کنید، تنها به JRE نیاز دارید.
- JDK: اگر میخواهید یک برنامه جاوا بنویسید یا تغییراتی در آن ایجاد کنید، به JDK نیاز دارید.
به عبارت ساده:
- JRE: برای اجرا کردن.
- JDK: برای ساختن.
مثال
فرض کنید شما یک بازی جاوا را دانلود کردهاید. برای اجرای این بازی، تنها به JRE نیاز دارید. اما اگر میخواهید تغییراتی در کدهای منبع این بازی ایجاد کنید یا یک بازی جدید بنویسید، به JDK نیاز خواهید داشت.
در نتیجه:
- JRE زیرساخت لازم برای اجرای برنامههای جاوا را فراهم میکند.
- JDK ابزارهای لازم برای توسعه برنامههای جاوا را در اختیار توسعهدهندگان قرار میدهد.
تفاوت JDK و JVM چیست؟
چه زمانی از کدام یک استفاده کنیم؟
- JVM: هر زمان که میخواهید یک برنامه جاوا را اجرا کنید، به JVM نیاز دارید.
- JDK: اگر میخواهید یک برنامه جاوا بنویسید یا تغییراتی در آن ایجاد کنید، به JDK نیاز دارید.
مثال: فرض کنید شما یک بازی جاوا را دانلود کردهاید. برای اجرای این بازی، تنها به JRE که شامل JVM است نیاز دارید. اما اگر میخواهید تغییراتی در کدهای منبع این بازی ایجاد کنید یا یک بازی جدید بنویسید، به JDK نیاز خواهید داشت.
به عبارت ساده:
- JVM: برای اجرا کردن.
- JDK: برای ساختن.
در نتیجه:
- JVM زیرساخت لازم برای اجرای برنامههای جاوا را فراهم میکند.
- JDK ابزارهای لازم برای توسعه برنامههای جاوا را در اختیار توسعهدهندگان قرار میدهد.