বিশেষত, কেন এটি PermGen আউটআফমিউরিওর সমস্যাটি সমাধান করতে সহায়তা করবে?
এছাড়াও, একটি উত্তরের জন্য বোনাস পয়েন্ট যা আমাকে জেভিএম তর্কগুলিতে ডকুমেন্টেশনে দেখায় ...
বিশেষত, কেন এটি PermGen আউটআফমিউরিওর সমস্যাটি সমাধান করতে সহায়তা করবে?
এছাড়াও, একটি উত্তরের জন্য বোনাস পয়েন্ট যা আমাকে জেভিএম তর্কগুলিতে ডকুমেন্টেশনে দেখায় ...
উত্তর:
স্থায়ী স্থানটি যেখানে ক্লাস, পদ্ধতি, অভ্যন্তরীণ স্ট্রিং এবং ভিএম দ্বারা ব্যবহৃত অনুরূপ বস্তুগুলি সংরক্ষণ করা হয় এবং কখনই অবনতি হয় না (তাই নাম)।
এই ওরাকল নিবন্ধটি সংক্ষেপে হটস্পট জিসির কাজ এবং প্যারামিটারাইজেশন উপস্থাপন করে এবং আপনি অনেকগুলি ক্লাস লোড করলে এই স্থানটি বাড়ানোর পরামর্শ দেয় (এটি সাধারণত অ্যাপ্লিকেশন সার্ভারের জন্য এবং কিছু আইডিই যেমন একটিগ্রহের মতো হয়):
স্থায়ী প্রজন্মের বেশিরভাগ অ্যাপ্লিকেশনের জন্য আবর্জনা সংগ্রাহকের পারফরম্যান্সের উপর লক্ষণীয় প্রভাব নেই। তবে কিছু অ্যাপ্লিকেশন গতিশীলভাবে অনেকগুলি শ্রেণি তৈরি করে এবং লোড করে; উদাহরণস্বরূপ, জাভা সার্ভার পৃষ্ঠা (জেএসপি) পৃষ্ঠাগুলির কিছু বাস্তবায়ন implement অতিরিক্ত ক্লাসগুলি ধরে রাখতে এই অ্যাপ্লিকেশনগুলির আরও বৃহত্তর স্থায়ী প্রজন্মের প্রয়োজন হতে পারে। যদি তা হয় তবে সর্বাধিক স্থায়ী প্রজন্মের আকারটি কমান্ড-লাইন বিকল্প -XX: ম্যাক্স্পার্মসাইজ = দিয়ে বাড়ানো যেতে পারে।
নোট করুন যে এই অন্যান্য ওরাকল ডকুমেন্টেশনগুলি অন্যান্য হটস্পট আর্গুমেন্টের তালিকা করে।
আপডেট: জাভা 8 দিয়ে শুরু করে, পার্জেন স্পেস এবং এই সেটিংস উভয়ই গেছে। লোড হওয়া ক্লাস এবং পদ্ধতিগুলির জন্য ব্যবহৃত মেমরি মডেলটি আলাদা এবং সীমাবদ্ধ নয় (ডিফল্ট সেটিংস সহ)। আপনার আর এই ত্রুটিটি আর দেখা উচিত নয়।
-XX:PermSize -XX:MaxPermSize
স্থায়ী জেনারেশনের জন্য আকার নির্ধারণ করতে ব্যবহৃত হয়।
স্থায়ী জেনারেশন: স্থায়ী জেনারেশন যেখানে ক্লাস ফাইলগুলি রাখা হয়। এগুলি সংকলিত ক্লাস এবং জেএসপি পৃষ্ঠাগুলির ফলাফল। যদি এই স্থানটি পূর্ণ হয় তবে এটি একটি সম্পূর্ণ আবর্জনা সংগ্রহের সূচনা করে। যদি পুরো আবর্জনা সংগ্রহ পুরানো অননুমোদিত ক্লাসগুলি পরিষ্কার করতে না পারে এবং স্থায়ী স্থান বাড়ানোর জন্য কোনও স্থান অবশিষ্ট থাকে না, তবে একটি আউট অফ মেমরি ত্রুটি (ওওম) নিক্ষেপ করা হয় এবং জেভিএম ক্র্যাশ হয়ে যায়।
জাভা 8-তে এই পরামিতিগুলি সাধারণত এর মতো সতর্কতা বার্তা প্রিন্ট করতে ব্যবহৃত হয়:
জাভা হটস্পট (টিএম) -৪-বিট সার্ভার ভিএম সতর্কতা: ম্যাক্সপার্মসাইজ = 512 এম বিকল্প উপেক্ষা করা; সমর্থন 8.0 সালে সরানো হয়েছে
জাভা 8-এ আপনি এই বার্তাটি পাওয়ার কারণটি হ'ল পারমজেনের কিছু ত্রুটিগুলি সমাধান করার জন্য মেটাসস্পেস দ্বারা প্রতিস্থাপন করা হয়েছে (আপনি নিজেরাই দেখতে সক্ষম হয়েছিলেন, সেই ত্রুটিগুলির মধ্যে একটি হ'ল এটির একটি নির্দিষ্ট আকার ছিল)।
এফওয়াইআই: মেটাস্পেসের একটি নিবন্ধ: http://java-latte.blogspot.in/2014/03/metaspace-in-java-8.html