আমি জানি পার্মজেন কী, কীসের জন্য এটি ব্যবহার করা হচ্ছে, কেন এটি ব্যর্থ হয়, কীভাবে এটি বাড়ানো যায় ইত্যাদি I
আমি যা জানি না তা হ'ল পার্মজেন আসলে যা বোঝায়। স্থায়ী ... জেনার ... কিছু?
PermGen আসলে কি বোঝে কেউ কি জানেন?
আমি জানি পার্মজেন কী, কীসের জন্য এটি ব্যবহার করা হচ্ছে, কেন এটি ব্যর্থ হয়, কীভাবে এটি বাড়ানো যায় ইত্যাদি I
আমি যা জানি না তা হ'ল পার্মজেন আসলে যা বোঝায়। স্থায়ী ... জেনার ... কিছু?
PermGen আসলে কি বোঝে কেউ কি জানেন?
উত্তর:
স্থায়ী জেনারেশন। বিশদ অবশ্যই বাস্তবায়ন নির্দিষ্ট।
সংক্ষেপে, এটিতে ক্লাস এবং ইন্টার্নযুক্ত স্ট্রিংগুলির সাথে সম্পর্কিত জাভা অবজেক্ট রয়েছে। ভাগ করে নেওয়ার সাথে সান ক্লায়েন্টের প্রয়োগে, classes.jsa
মেমরির প্রাথমিক তথ্য তৈরি করার জন্য মেমরি করা হয়, যার মধ্যে প্রায় অর্ধেক পঠনযোগ্য কেবল এবং অর্ধেক অনুলিপি-অনুলিপি থাকে।
নিছক পুরানো জাভা বস্তুগুলি টেনার্ড জেনারেশনে রাখা হয়েছে।
পার্মগেনটি ভারী ভারী ক্লাসগুলি রাখতে জেভিএম ব্যবহার করে। আপনি এটি ব্যবহার করে এটি বাড়িয়ে তুলতে পারেন:
-XX:MaxPermSize=384m
যদি আপনি সান জেভিএম বা ওপেনজেডিকে ব্যবহার করেন।
সুতরাং আপনি যদি একটি আউটঅফমিউরিএক্সেপশন পান: পারমজেন আপনাকে হয় পার্মজেনকে আরও বড় করতে হবে অথবা আপনার ক্লাস লোডার সমস্যা হতে পারে।
স্থায়ী জেনারেশন। আবর্জনা সংগ্রহকারী সম্পর্কিত আরও তথ্যের জন্য জাভা জিসি টিউনিং গাইডটি দেখুন।
মূল প্রশ্নের সাথে সত্যিই সম্পর্কিত নয়, তবে এটির কারওর পক্ষে এটি দরকারী মনে হতে পারে। PermGen প্রকৃতপক্ষে স্মৃতিতে এমন একটি অঞ্চল যেখানে জাভা তার ক্লাসগুলি রাখত। সুতরাং, আমাদের মধ্যে অনেকগুলি পার্মজেনের ওওএম জুড়ে এসেছিল, যদি সেখানে ছিল, উদাহরণস্বরূপ প্রচুর ক্লাস।
জাভা 8-এর পর থেকে পার্মজেন অঞ্চলটি মেটাস্পেস অঞ্চল দ্বারা প্রতিস্থাপন করা হয়েছে, যা আরও কার্যকর এবং ডিফল্টরূপে সীমাহীন (বা আরও স্পষ্টভাবে - 32 বা 64 বিট জেভিএম এবং ওএস ভার্চুয়াল মেমরির উপলব্ধতার উপর নির্ভর করে নেটিভ মেমরির পরিমাণ দ্বারা সীমিত)। তবে কিছু উপায়ে এটি টিউন করা সম্ভব, উদাহরণস্বরূপ ক্ষেত্রের সর্বাধিক সীমা নির্দিষ্ট করে। আপনি এই ব্লগ পোস্টে আরও দরকারী তথ্য পেতে পারেন ।
পার্মজেন এর অর্থ স্থায়ী জেনারেশন ।
পার্মজেন এর অর্থ স্থায়ী জেনারেশন। এটি জেভিএম মেমরির অন্যতম একটি অঞ্চল। এটি ম্যাক্সপার্মসাইজ নামে একটি পতাকা ব্যবহার করে স্থির আকারের হ্যাপের অংশ।
নাম "পার্মগেন" কেন?
জাভা শুরুর দিনগুলিতে এই পার্জেনটির নামকরণ করা হয়েছিল। পারমজেন মেইন লোড শ্রেণীর সমস্ত মেটা ডেটা রাখে। তবে সমস্যাটি হ'ল একবার কোনও শ্রেণি লোড হয়ে গেলে এটি জেভিএম শাটডাউন অবধি JVM এ থাকবে। সুতরাং নাম পার্জেন এটির জন্য বেছে নেওয়া হয়। তবে পরে, ক্লাসগুলির গতিশীল লোডিং ছবিতে এসেছিল তবে নাম পরিবর্তন করা হয়নি। তবে জাভা 8 এর সাহায্যে তারাও সেই সমস্যাটিকে সম্বোধন করেছে। এখন পারমাজেনের নাম পরিবর্তনশীল মেমরি আকারের সাথে মেটাস্পেস হিসাবে করা হয়েছিল ।