জাভা আর্কিটেকচারের উপাদানগুলি কী কী?



জাভা আর্কিটেকচার সংকলন এবং ব্যাখ্যা প্রক্রিয়া একত্রিত করে। এই নিবন্ধে, আমি আপনাকে জাভা আর্কিটেকচারের বিভিন্ন উপাদান সম্পর্কে বলব

জাভা আর্কিটেকচার সংকলন এবং ব্যাখ্যা প্রক্রিয়া একত্রিত করে। এটি প্রণীত কবে জড়িত বিভিন্ন প্রক্রিয়া ব্যাখ্যা করে । আমি বিষয়টি শুরু করার আগে আমাকে এই নিবন্ধটির এজেন্ডাটি দিয়ে আপনাকে পরিচয় করিয়ে দিন।

নীচে উল্লিখিত পয়েন্টারগুলি আমাদের আলোচনার বিষয়গুলি হবে:





আসুন জাভা আর্কিটেকচারটি আসলে কী তা বোঝার মধ্য দিয়ে শুরু করা যাক?



জাভা আর্কিটেকচার কি?

এখানে, আমি আপনাকে সহজ পদক্ষেপে জাভা আর্কিটেকচারের ব্যাখ্যা করব।

  • জাভাতে, সংকলন এবং ব্যাখ্যার প্রক্রিয়া রয়েছে।
  • কোড লিখিত , বাইট কোডগুলিতে রূপান্তরিত হয় যা জাভা কম্পাইলার দ্বারা সম্পন্ন হয়।
  • বাইট কোডগুলি, তারপরে JVM দ্বারা মেশিন কোডে রূপান্তরিত হয়।
  • মেশিন কোডটি সরাসরি মেশিন দ্বারা কার্যকর করা হয়।

এই চিত্রটি জাভা কোডের অভ্যন্তরীণ কার্যকারিতা বা স্পষ্টভাবে জাভা আর্কিটেকচারের চিত্র তুলে ধরেছে!



জেভিএম - জাভা আর্কিটেকচার - এডুরেকাএখন আসুন, জাভা আর্কিটেকচারে কিছুটা গভীর গভীরতা খুঁড়ুন এবং বিভিন্ন বিষয়ে কথা বলি ।

পূর্ণসংখ্যার জাভা সাজানোর অ্যারেলিস্ট

জাভা আর্কিটেকচারের উপাদান

জাভা ভাষার তিনটি প্রধান উপাদান রয়েছে: জেভিএম, জেআরই, এবং জেডিকে

যথাক্রমে জাভা ভার্চুয়াল মেশিন, জাভা রানটাইম এনভায়রনমেন্ট এবং জাভা ডেভেলপমেন্ট কিট।

আমি তাদের প্রত্যেককে একে একে বিস্তারিতভাবে বলি:

জাভা ভার্চুয়াল মেশিন:

কখনও ওয়ারার কথা শুনেছেন? (একবারে রান কোথাও লিখুন)। ঠিক আছে, যে কোনও প্ল্যাটফর্মে কোড চালানোর দক্ষতার কারণে জাভা অ্যাপ্লিকেশনগুলিকে ডব্লিউওআরএ বলা হয়। এটি কেবল জেভিএম-এর কারণে করা হয়। জেভিএম একটি জাভা প্ল্যাটফর্ম উপাদান যা জাভা প্রোগ্রামগুলি সম্পাদন করার জন্য পরিবেশ সরবরাহ করে। জেভিএম মেশিন কোডে বাইটোকোডকে ব্যাখ্যা করে যা জাভা প্রোগ্রামটি চালিত করে এমন মেশিনে চালিত হয়।

সুতরাং, সংক্ষেপে, জেভিএম নিম্নলিখিত ফাংশন সম্পাদন করে:

  • কোড লোড করে
  • কোডটি যাচাই করে
  • কোডটি কার্যকর করে
  • রানটাইম পরিবেশ সরবরাহ করে

এখন, আমি আপনাকে জেভিএম আর্কিটেকচারটি দেখাব। এখানে যায়!

ব্যাখ্যা:

ক্লাস লোডার : ক্লাস লোডার জেভিএমের একটি সাবসিস্টেম। এটি ক্লাসের ফাইলগুলি লোড করতে ব্যবহৃত হয়। আমরা যখনই জাভা প্রোগ্রামটি চালাই, শ্রেণি লোডার প্রথমে এটি লোড করে।

শ্রেণি পদ্ধতি অঞ্চল : এটি জেভিএমের ডেটা অঞ্চলগুলির মধ্যে একটি, যেখানে শ্রেণি ডেটা সংরক্ষণ করা হবে। স্ট্যাটিক ভেরিয়েবলস, স্ট্যাটিক ব্লক, স্ট্যাটিক পদ্ধতি, তাত্ক্ষণিক পদ্ধতিগুলি এই অঞ্চলে সংরক্ষণ করা হয়।

গাদা : জেভিএম শুরু হলে একটি গাদা তৈরি হয়। অ্যাপ্লিকেশন চলাকালীন এটি আকারে বৃদ্ধি বা হ্রাস পেতে পারে।

স্ট্যাক : জেভিএম স্ট্যাক একটি থ্রেড স্ট্যাক হিসাবে পরিচিত। এটি JVM মেমরির একটি ডেটা অঞ্চল যা একটি একক এক্সিকিউশন থ্রেডের জন্য তৈরি। কোনও থ্রেডের জেভিএম স্ট্যাক থ্রেড দ্বারা বিভিন্ন উপাদানগুলি যেমন স্থানীয় ভেরিয়েবল, আংশিক ফলাফল এবং কলিং পদ্ধতি এবং রিটার্নের ডেটা সঞ্চয় করতে ব্যবহৃত হয়।

নেটিভ স্ট্যাক : এটি আপনার আবেদনে ব্যবহৃত সমস্ত নেটিভ পদ্ধতি গ্রহণ করে।

এক্সিকিউশন ইঞ্জিন:

  • জেআইটি সংকলক
  • আবর্জনা সংগ্রহকারী

জেআইটি সংকলক: দ্য জাস্ট-ইন-টাইম (জেআইটি) সংকলক রানটাইম পরিবেশের একটি অংশ। এটি রান টাইমে মেশিন কোডে বাইকোডগুলি সংকলন করে জাভা অ্যাপ্লিকেশনগুলির কার্যকারিতা উন্নত করতে সহায়তা করে। জেআইটি সংকলক ডিফল্টরূপে সক্ষম হয়। যখন কোনও পদ্ধতি সংকলিত হয়, জেভিএম সরাসরি সেই পদ্ধতির সংকলিত কোডটি কল করে। জেআইটি সংকলক সেই পদ্ধতির বাইকোডকে মেশিন কোডে সংকলন করে, চালানোর জন্য 'ঠিক সময়ে' সংকলন করে।

আবর্জনা সংগ্রহকারী: নামটি যেমন ব্যাখ্যা করে আবর্জনা সংগ্রহকারী অব্যবহৃত উপাদান সংগ্রহ করা। ঠিক আছে, জেভিএম-এ এই কাজটি আবর্জনা সংগ্রহের দ্বারা সম্পন্ন হয়। এটি জেভিএম হ্যাপ স্পেসে উপলব্ধ প্রতিটি বস্তুকে সন্ধান করে এবং অযাচিত জিনিসগুলি সরিয়ে দেয়।
আবর্জনা সংগ্রহকারী দুটি সহজ পদক্ষেপে কাজ করে যা মার্ক এবং সুইপ নামে পরিচিত:

  • চিহ্নিত করুন - এটিই যেখানে আবর্জনা সংগ্রহকারী সনাক্ত করে যে কোন মেমরির টুকরা ব্যবহৃত হচ্ছে এবং কোনটি নয়
  • সুইপ - এটি 'চিহ্ন' পর্যায়ে চিহ্নিত আইটেমগুলি সরিয়ে দেয়।

জাভা রানটাইম পরিবেশ:

জেআরই সফ্টওয়্যার একটি রানটাইম পরিবেশ তৈরি করে যেখানে জাভা প্রোগ্রামগুলি কার্যকর করা যেতে পারে। জেআরই হ'ল একটি ডিস্ক সিস্টেম যা আপনার জাভা কোডটি নেয়, এটি প্রয়োজনীয় গ্রন্থাগারগুলির সাথে একত্রিত করে এবং এটি কার্যকর করতে JVM শুরু করে। জেআরইতে আপনার জাভা প্রোগ্রামগুলি চালনার জন্য প্রয়োজনীয় লাইব্রেরি এবং সফ্টওয়্যার রয়েছে। জেআরই জেডিকে-র একটি অংশ (যা আমরা পরে শিখব) তবে আলাদাভাবে ডাউনলোড করা যায়।

জাভা ডেভলপমেন্ট কিট:

জাভা ডেভেলপমেন্ট কিট (জেডিকে) একটি সফ্টওয়্যার বিকাশ পরিবেশ যা জাভা অ্যাপ্লিকেশন এবং অ্যাপলেটগুলি বিকাশের জন্য ব্যবহৃত হয়। এটিতে জেআরই এবং বিভিন্ন বিকাশ সরঞ্জাম রয়েছে, একটি ইন্টারপ্রিটার / লোডার (জাভা), একটি সংকলক (জাভাক), একটি আরচিভার (জার), একটি ডকুমেন্টেশন জেনারেটর (জাভাদোক) অন্য সরঞ্জামের সাথে রয়েছে।

ডায়াগ্রামে দেখানো নীল অঞ্চলটি জেডিকে। এখন, আমি আপনার সকলকে বিকাশের সরঞ্জামগুলি বিস্তারিতভাবে জানাতে চাই।

java : এটি সমস্ত জাভা অ্যাপ্লিকেশনগুলির জন্য প্রবর্তক।
জাভ্যাক : জাভা প্রোগ্রামিং ভাষার সংকলক।
জাভাডোক : এটি এপিআই ডকুমেন্টেশন জেনারেটর।
জার : সমস্ত জেআর ফাইল তৈরি এবং পরিচালনা করে।

জাভা আর্কিটেকচারের সাথে এগিয়ে চলুন, আসুন বুঝতে পারি যে জাভা প্ল্যাটফর্মটি কীভাবে স্বাধীন?

জাভা প্ল্যাটফর্ম কীভাবে স্বাধীন?

প্ল্যাটফর্ম-স্বাধীন হিসাবে কোন প্রোগ্রামিং ভাষা বলা হয়? ঠিক আছে, যদি এবং কেবলমাত্র এটি এর বিকাশ এবং সংকলন সম্পর্কিত সমস্ত উপলব্ধ অপারেটিং সিস্টেমে চালিত করতে পারে।
এখন, জাভা কেবল বাইটকোডের কারণে প্ল্যাটফর্ম-স্বতন্ত্র। আমাকে বলতে দাও ঠিক একটি বাইটোকড কি? সহজ শর্তে,
বাইটকোড হল জেভিএম এর একটি কোড যা মেশিন-বোধগম্য।
জাভাতে বাইটকোড কার্যকর করা প্রমাণ করে যে এটি একটি প্ল্যাটফর্ম-স্বাধীন ভাষা।
এখানে, আমি আপনাকে জাভা বাইটকোড কার্যকর করার প্রক্রিয়াতে জড়িত পদক্ষেপগুলি দেখাব।

নীচে জড়িত পদক্ষেপের ব্যাখ্যা:

নমুনা.জভা → জাভাক (নমুনা। বর্গ) → জেভিএম (নমুনা.ওবিজে) → চূড়ান্ত আউটপুট

প্রথম উত্স কোডটি জাভা সংকলক দ্বারা ব্যবহৃত হয় এবং। ক্লাস ফাইলে রূপান্তরিত হয়। ক্লাস ফাইল কোডটি বাইট কোড ফর্মে রয়েছে এবং সেই শ্রেণি ফাইলটি JVM দ্বারা কোনও অবজেক্ট ফাইলে রূপান্তর করতে ব্যবহৃত হয়। এর পরে, আপনি আপনার স্ক্রিনে চূড়ান্ত আউটপুট দেখতে পাবেন।

জাভা আর্কিটেকচার নিবন্ধে এগিয়ে চলুন, আসুন আমরা এর ধারণাটি বুঝতে পারি জাভাতে জেআইটি

জাভাতে জেআইটি

জাস্ট ইন টাইম সংকলক সাধারণত জেআইটি হিসাবে পরিচিত, রান সময় সময়ে জাভা ভিত্তিক অ্যাপ্লিকেশনগুলির পারফরম্যান্স অপ্টিমাইজেশনের জন্য মূলত দায়ী। কোনও অ্যাপ্লিকেশনটির পারফরম্যান্স একটি সংকলকের উপর নির্ভরশীল।
এখানে একটি সাধারণ চিত্র রয়েছে যা আপনাকে অভ্যন্তরীণ প্রক্রিয়া চলমান দেখায়।

জেআইটি সংকলক - জাভা আর্কিটেকচার - এডুরেকা

জেআইটি সংকলক পদ্ধতিটির বাইট কোডটি মেশিন কোডে সংকলন করে, চালানোর জন্য 'জাস্ট ইন টাইম' সংকলন করে। যখন কোনও পদ্ধতি সংকলিত হয়, জেভিএম সরাসরি সেই পদ্ধতির সংকলিত কোডটি কল করে।
আরও গভীর ডুব দেওয়া যাক:
বাইট কোডটি সরবরাহ করা নির্দেশের উপর নির্ভর করে যথাযথ মেশিন নির্দেশগুলিতে ব্যাখ্যা করা বা সংকলন করতে হয়। এছাড়াও, নির্দেশাবলী যদি আর্কিটেকচার বাইট কোড ভিত্তিক হয় তবে এগুলি সরাসরি সম্পাদন করা যেতে পারে। বাইট কোডটির ব্যাখ্যা কার্যকরকরণের গতিকে প্রভাবিত করে।
কর্মক্ষমতা উন্নত করার জন্য, জেআইটি সংকলকগণ রান সময় জাভা ভার্চুয়াল মেশিনের (জেভিএম) সাথে ইন্টারঅ্যাক্ট করে এবং উপযুক্ত বাইটকোড সিকোয়েন্সগুলি দেশীয় মেশিন কোডে (চিত্রতে প্রদর্শিত হিসাবে) সংকলন করে। একটি জেআইটি সংকলক ব্যবহার করার সময়, জেভিএম বারবার বাইকোডের একই ক্রমটি বারবার ব্যাখ্যা করার পাশাপাশি অনুবাদ প্রক্রিয়াটির জন্য ওভারহেড ব্যয় করার তুলনায় হার্ডওয়্যারটি স্থানীয় কোড কার্যকর করতে সক্ষম হয়।

এটির সাথে আমি জাভা আর্কিটেকচার সম্পর্কিত এই নিবন্ধের শেষের দিকে পৌঁছেছি। আমি আশা করি উপরোক্ত আলোচিত বিষয়গুলি আপনার জাভা জ্ঞানের সাথে মান যুক্ত করেছে। আরও নিবন্ধ জন্য থাকুন!

এখন আপনি জাভার মূল বিষয়গুলি বুঝতে পেরেছেন, এটি দেখুন বিশ্বজুড়ে ছড়িয়ে থাকা 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা এডুরেকা দ্বারা। এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্রের কোর্সটি এমন শিক্ষার্থী এবং পেশাদারদের জন্য তৈরি করা হয়েছে যারা জাভা ডেভেলপার হতে চান। কোর্সটি আপনাকে জাভা প্রোগ্রামিংয়ে একটি প্রধান সূচনা দেওয়ার জন্য এবং হাইবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।

লুপ প্রোগ্রাম উদাহরণের জন্য জাভা

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই 'জাভা আর্কিটেকচার এবং এর উপাদানগুলি' ব্লগের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।