জে ava V irtual M achine হল একটি প্রোগ্রাম/সফ্টওয়্যার যা জাভা বাইটকোড (. ক্লাস ফাইল) নেয় এবং বাইট কোডকে (লাইন বাই লাইন) মেশিনে বোধগম্য কোডে রূপান্তর করে।
JVM একটি ক্লাস লোডার হিসাবে পরিচিত একটি মডিউল রয়েছে। JVM-এ একটি ক্লাস লোডার একটি প্রোগ্রাম লোড করে, লিঙ্ক করে এবং শুরু করে। এটা -
-
মেমরিতে ক্লাস লোড করে।
-
বাইট কোড নির্দেশাবলী যাচাই করে।
-
প্রোগ্রামের জন্য মেমরি বরাদ্দ করে৷
JVM মেমরি অবস্থান
JVM-এর −
নামে পাঁচটি মেমরি অবস্থান রয়েছে-
গাদা − বস্তুর জন্য রানটাইম স্টোরেজ বরাদ্দ (রেফারেন্স প্রকার)।
-
স্ট্যাক - স্থানীয় ভেরিয়েবল এবং আংশিক ফলাফলের জন্য স্টোরেজ। একটি স্ট্যাকে ফ্রেম থাকে এবং প্রতিটি থ্রেডের জন্য একটি বরাদ্দ করে। একবার একটি থ্রেড সম্পূর্ণ হয়ে গেলে, এই ফ্রেমটিও ধ্বংস হয়ে যায়। এটি পদ্ধতি আহ্বান এবং রিটার্নের ক্ষেত্রেও ভূমিকা পালন করে।
-
পিসি রেজিস্টার − প্রোগ্রাম কাউন্টার রেজিস্টারে একটি নির্দেশের ঠিকানা রয়েছে যা JVM বর্তমানে কার্যকর করছে।
-
এক্সিকিউশন ইঞ্জিন − এটিতে একটি ভার্চুয়াল প্রসেসর, বাইটকোড নির্দেশাবলী একের পর এক ব্যাখ্যা করার জন্য দোভাষী এবং একটি JIT রয়েছে, ঠিক সময়ে কম্পাইলার৷
-
নেটিভ পদ্ধতি স্ট্যাক - এটিতে অ্যাপ্লিকেশন দ্বারা ব্যবহৃত সমস্ত স্থানীয় পদ্ধতি রয়েছে৷
৷