JDK, JRE এবং JVM তিনটিই পরস্পর নির্ভরশীল এবং কোন সাধারণ বিষয় নেই তাই সারণী আকারে তাদের পার্থক্য বলা কার্যকর নয় তবে আমরা নিম্নলিখিত অনুচ্ছেদে এগুলি নিয়ে আলোচনা করব।
JVM
JVM হল জাভা ভার্চুয়াল মেশিনের সংক্ষিপ্ত রূপ যা মূলত স্পেসিফিকেশন যা একটি রানটাইম পরিবেশ প্রদান করে যেখানে জাভা বাইট কোড নির্বাহ করা যেতে পারে অর্থাৎ এটি এমন কিছু যা বিমূর্ত এবং এর বাস্তবায়ন অ্যালগরিদম বেছে নেওয়ার জন্য স্বাধীন এবং সান এবং অন্যান্য কোম্পানিগুলি দ্বারা সরবরাহ করা হয়েছে। . এটি JVM যা মেশিন নির্দিষ্ট কোডে বাইট কোড রূপান্তর করার জন্য দায়ী। এটি সেই প্রোগ্রামগুলিও চালাতে পারে যেগুলি অন্যান্য ভাষায় লেখা এবং জাভা বাইটকোডে কম্পাইল করা হয়েছে৷ JVM উল্লেখিত কাজগুলি সম্পাদন করে:কোড লোড করে, কোড যাচাই করে, কোড কার্যকর করে, রানটাইম পরিবেশ প্রদান করে৷
JRE
JRE হল জাভা রানটাইম এনভায়রনমেন্ট যা JVM-এর বাস্তবায়ন অর্থাৎ JVM-এ সংজ্ঞায়িত স্পেসিফিকেশনগুলি বাস্তবায়িত হয় এবং কোড কার্যকর করার জন্য সংশ্লিষ্ট পরিবেশ তৈরি করে৷ জাভা বাইনারিগুলির সাথে JRE-তেও স্থাপনার বিভিন্ন প্রযুক্তি, এক্সিকিউট করা কোডের সাথে ইন্টারঅ্যাক্ট করার জন্য ইউজার ইন্টারফেস, বিভিন্ন কার্যকারিতা এবং ভাষার জন্য কিছু বেস লাইব্রেরি এবং ইউটিল ভিত্তিক লাইব্রেরি রয়েছে।
JDK
JDK হল জাভা ডেভেলপমেন্ট কিটের সংক্ষিপ্ত রূপ যাতে একটি জাভা প্রোগ্রাম কম্পাইল, ডিবাগ এবং এক্সিকিউট করার জন্য প্রয়োজনীয় সমস্ত টুল, এক্সিকিউটেবল এবং বাইনারি অন্তর্ভুক্ত থাকে। জেডিকে হল প্ল্যাটফর্ম নির্ভর অর্থাৎ উইন্ডোজ, ম্যাক এবং ইউনিক্স সিস্টেমের জন্য আলাদা ইনস্টলার রয়েছে। জেডিকে JVM এবং উভয়ই অন্তর্ভুক্ত করে। JRE এবং কোড নির্বাহের জন্য সম্পূর্ণরূপে দায়ী। এটি JDK-এর সংস্করণ যা জাভার সংস্করণ উপস্থাপন করে।
JDK, JRE এবং JVM
এর মধ্যে গুরুত্বপূর্ণ পার্থক্যগুলি নীচে দেওয়া হলSr. না. | কী | JDK | JRE | JVM |
---|---|---|---|---|
1 | সংজ্ঞা | JDK (জাভা ডেভেলপমেন্ট কিট) হল একটি সফটওয়্যার ডেভেলপমেন্ট কিট যা জাভাতে অ্যাপ্লিকেশন ডেভেলপ করতে পারে। JRE ছাড়াও, JDK-তেও অনেক ডেভেলপমেন্ট টুল রয়েছে (কম্পাইলার, JavaDoc, Java Debugger ইত্যাদি)। | JRE (জাভা রানটাইম এনভায়রনমেন্ট) হল JVM-এর বাস্তবায়ন এবং এটিকে একটি সফ্টওয়্যার প্যাকেজ হিসাবে সংজ্ঞায়িত করা হয়েছে যা জাভা প্রোগ্রামিং-এ লেখা অ্যাপ্লিকেশন চালানোর জন্য জাভা ভার্চুয়াল মেশিন (JVM) সহ জাভা ক্লাস লাইব্রেরি এবং অন্যান্য উপাদান প্রদান করে। | JVM (জাভা ভার্চুয়াল মেশিন) হল একটি বিমূর্ত মেশিন যা প্ল্যাটফর্ম-নির্ভর এবং একটি স্পেসিফিকেশন হিসাবে তিনটি ধারণা রয়েছে, একটি নথি যা JVM বাস্তবায়নের প্রয়োজনীয়তা বর্ণনা করে, বাস্তবায়ন, একটি কম্পিউটার প্রোগ্রাম যা JVM প্রয়োজনীয়তা পূরণ করে এবং উদাহরণ, একটি বাস্তবায়ন যা জাভা বাইট কোড নির্বাহ করে জাভা বাইট কোড চালানোর জন্য একটি রানটাইম পরিবেশ প্রদান করে। |
2 | প্রধান কার্যকারিতা | জেডিকে প্রাথমিকভাবে কোড এক্সিকিউশনের জন্য ব্যবহৃত হয় এবং এর বিকাশের প্রধান কার্যকারিতা রয়েছে। | অন্যদিকে JRE প্রধানত কোড এক্সিকিউশনের পরিবেশ তৈরির জন্য দায়ী। | অন্যদিকে JVM সমস্ত বাস্তবায়ন সুনির্দিষ্ট করে এবং JRE কে এই বাস্তবায়ন প্রদানের জন্য দায়ী। |
3 | প্ল্যাটফর্মের স্বাধীনতা | JDK হল প্ল্যাটফর্ম নির্ভর অর্থাৎ বিভিন্ন প্ল্যাটফর্মের জন্য আলাদা JDK প্রয়োজন। | JDK JRE-এর মত প্ল্যাটফর্ম নির্ভর। | জেভিএম প্ল্যাটফর্ম স্বাধীন। |
4 | টুলস | যেহেতু JDK প্রাইম ডেভেলপমেন্টের জন্য দায়ী তাই এতে জাভা অ্যাপ্লিকেশন ডেভেলপ, ডিবাগিং এবং পর্যবেক্ষণের জন্য টুল রয়েছে। | অন্যদিকে JRE-এ কম্পাইলার বা ডিবাগার ইত্যাদির মতো টুল থাকে না। বরং এতে ক্লাস লাইব্রেরি এবং অন্যান্য সাপোর্টিং ফাইল থাকে যা JVM-এর প্রোগ্রাম চালানোর প্রয়োজন হয়। | JVM সফ্টওয়্যার উন্নয়ন সরঞ্জাম অন্তর্ভুক্ত করে না। |
5 | বাস্তবায়ন | JDK =জাভা রানটাইম এনভায়রনমেন্ট (JRE) + ডেভেলপমেন্ট টুল | JRE =Java ভার্চুয়াল মেশিন (JVM) + অ্যাপ্লিকেশন চালানোর জন্য লাইব্রেরি | JVM =জাভা বাইট কোড চালানোর জন্য শুধুমাত্র রানটাইম পরিবেশ। |