jdkچیست؟

JDK چیست؟

آموزش, مقالات

برای زبان جاوا کلمات اختصاری زیادی وجود دارد که که بسیار شبیه به هم هستند ولی کارکرد آنها با یکدیگر متفاوت است. در این نوشته از شرکت برنامه نویسی کرمان، اسپرلوس قصد داریم در مورد JDK (JAVA DEVELOPMENT KIT) صحبت کنیم و تفاوت آن با سایر کلمات اختصاری را توضیح دهیم،لطفا با ما همراه باشید…

کلمات اختصاری زبان جاوا

آنچه در این مقاله می خوانید…

تعریف اصطلاح JDK

JDK سرواژه کلمات Java Development Kit به معنی بسته توسعه جاوا است که زیر مجموعه sdk یا بسته توسعه نرم افزار قرار می گیرید. JDK شامل اجزایی است که به برنامه نویسان برای توسعه نرم افزار یکپارچه و همچنین دسترسی به قسمت های مختلف سیستم عامل کمک می کند.در ادامه چند تعریف از JDK از سایت های معتبر فارسی آورده است.

تعریف JDK در سایت فرادرس به این صورت آمده است:

JDK یا کیت توسعه جاوا شامل مجموعه‌ای از ابزارهای توسعه نرم افزار و کتابخانه‌های قابل پشتیبانی است که با «محیط زمان اجرا جاوا» (Java Runtime Environment | JRE) و «ماشین مجازی جاوا» (Java Virtual Machine | JVM) ترکیب می‌شود. به عبارت دیگر، کیت توسعه جاوا محیط توسعه نرم افزاری «چند پلتفرمی» یا «چند سکویی» (Cross Platform) به حساب می‌آید که مجموعه‌ای از ابزارها و کتابخانه‌های لازم برای توسعه برنامه‌های نرم افزاری مبتنی بر جاوا را ارائه می‌دهد. می‌توان گفت که کیت توسعه جاوا، «پکیج» یا همان «بسته» (Package) اصلی مورد استفاده در جاوا به حساب می‌آید.

تعریف JDK  در سایت داتیس نتوورک به این صورت آمده است:

جی دی کا مخفف Java Development Kit به معنی کیت توسعه جاوا محصولی از شرکت سان است که با هدف کمک به توسعه‌ دهندگان جاوا ارائه شده است.

Java Development Kit بسته ای است شامل کامپایلر جاوا , ابزار های اشکال زدایی و توسعه برنامه های تحت پلت فرم جاوا و همچنین شامل نسخه ای از JRE است.

هر برنامه جاوا برای کامپایل شدن به JDK نیاز دارد ولی برای اجرا باید JRE روی سیستم نصب باشد.

پس JDK فقط مخصوص برنامه نویس جاوا است و برای اجرای برنامه های جاوا , تنها داشتن JRE کفایت می کند .

از زمان معرفی جاوا، معروفترین و پراستفاده‌ترین کیت توسعه نرم‌افزاری است.

در 17 نوامبر 2007 سان اعلام نمود که این کیت را تحت GPL GNU (اجازه‌نامه عمومی همگانی گنو ) منتشر خواهد نمود.

بنابراین این نرم‌افزار آزاد خواهد شد. این اتفاق در 8 می 2007 رخ داد.

سان در متن کد جی‌دی‌کی باز نیز مشارکت داشت.

همچنین تعریف JDK در سایت آقای کاظمیه(مدرس برنامه نویسی) به این صورت امده است:

عموما ما برای کد نویسی به زبان جاوا از سیستم عامل ویندوز استفاده می کنیم. سیستم عامل ویندوز در به خانواده زبان سی ( سی ، سی پلاس پلاس ، سی شارپ ) نوشته شده است. برای اینکه بتوانیم در این محیطی که به خانواده سی است به زبان جاوا کد نویسی انجام دهیم نیازمند ابزاری هستیم. این ابزار را jdk برای ما آماده می کند.


مطلب پیشنهادی: SDK چیست؟


JRE چیست؟

jvmچیست؟

JRE سرواژه کلمات Java Runtime Environment به معنی محیط اجرای جاوا(برنامه های نوشته شده با جاوا) است. JRE یک بستر برای ارتباط بین سیستم عامل و جاوا محسوب می شود. این بستر کمک می کند برنامه های جاوا بدون نیاز به تغییر روی هر سیستم عاملی قابل اجرا باشد. یکی از علت های محبوبیت جاوا همین قابلیت تعامل با سیستم عامل های مختلف است.

JVM چیست؟

jvmچگونه کار میکند

JVM سرواژه کلمات Java Virtual Machine به معنی ماشین مجازی جاوا است. همانطور که از نام آن پیئاست یک ماشین مجازی است که به برنامه های جاوا اجازه اجزا شدن روی پلتفرم های مختلف را می دهد. پس هر سیستم عاملی که بخواد برنامه های جاوا را اجرا کند باید JVM روی آن نصب شده باشد. شاید بپرسید که تفاوت آن با JRE چیست؟ JVM در واقع یکی از اجزای JRE محسوب می شود که در ادامه به بحث در مورد آن می پردازیم.


تفاوت JRE و JVM با هم و تفاوت آنها با JDK

JRE شامل چه چیزهایی(اجزایی) می شود؟

  1. Development tools یا ابزار های توسعه:

    شامل مواردی برای پیاده سازی UI یا رابط کاربری است. Java 2D ، Swing ، abstract window toolkit و … نمونه های از این ابزار توسعه هستند.

  2. کتابخانه های language و utility:

    شامل مجموعه ای از بسته های نرم افزاری (پکیج) است که امکان ماتورینگ، ورژن بندی و مدیریت جاوا را به ما می دهد. Collection framework ، prefrences API ، Logging ، Java archive از اجزای این مجموعه هستند.

  3. JVM:

    همانطور که در بالا توضیح داده شد JVM بخشی از JRE محسوب می شود.

  4. کتابخانه های رابط:

    شامل مجموعه ای از کتابخانه های برای ارتباط بین نرم افزار و سرویس ها است. Java IDL و Java database connectivity از اجزای آن هستند.

JVM شامل چه چیزهایی(اجزایی) می شود؟

  1. Class Loader:

    فایل .java بعد از کامپایل به .class تبدیل می شود که وظیفه class loader بارگزاری این کلاس در حافظه اصلی است.

  2. Runtime Memory/Data Area:

    تمام متدهای سازنده، کد ها و… در این قسمت ذخیره سازی می شود.

  3. Execution Engine:

    مسئولیت اجزای کدهای موجود در کلاس را به عهده دارد

GarbageCollection چیست؟

 

Garbage Collection چیست؟

Garbage Collection قسمتی از JVM محسوب می شود و هم زمان با اجرای JVM اجرا می شود. وظیفه آن تشخیص قسمت های بی استفاده حافظه و خالی سازی آن را دارد. به زبان ساده تر وظیفه مدیریت حافظه در JVM را به عهده دارد.

سخن پایانی:

قطعا ما در این مقاله به جزییات ریز JRE و JVM نپرداختیم. زیرا هر کدام از آنهایی جزییات بسیار زیادی دارند که در یک مقاله مختصر نمی گنجد. اما در این بخش سعی کردیم به توضیحات مختصر از اجزا و کاربرد آنها بپردازیم تا تفاوت های آنها و کارکرد هر کدام مشخص شود.

نظرات

2 نظر

  • عالی بود

    • A

      از اینکه اسپرلوس را انتخاب کردید ممنونم
      ما در شرکت اسپرلوس آماده ایم تا به سوالات شما در حوزه های طراحی سایت، سئو، برنامه نویسی، کاتالوگ دیجیتال و CRM و… پاسخ بدهیم.