আমি জেডিকে 8 ইনস্টল করেছি এবং গ্রহণের চেষ্টা করছি। আমি নিম্নলিখিত সতর্কতা বার্তা পাচ্ছি:
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m;
support was removed in 8.0
এই ভিএম বিকল্পটি উপেক্ষা করার কারণগুলি কী কী?
আমি জেডিকে 8 ইনস্টল করেছি এবং গ্রহণের চেষ্টা করছি। আমি নিম্নলিখিত সতর্কতা বার্তা পাচ্ছি:
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m;
support was removed in 8.0
এই ভিএম বিকল্পটি উপেক্ষা করার কারণগুলি কী কী?
উত্তর:
নিম্নলিখিত ত্রুটিগুলির কারণে এই যুক্তি উপেক্ষা করার কারণগুলি JDK8 এর জন্য হটস্পটে স্থায়ীভাবে প্রজন্মকে সরিয়ে দেওয়া হয়েছে
পার্মেন্ট জেনারেশন (পার্মগেন) স্থানটি পুরোপুরি সরিয়ে ফেলা হয়েছে এবং এক ধরনের নতুন স্থান দ্বারা মেটাস্পেস নামে প্রতিস্থাপন করা হয়েছে। পার্মজেন অপসারণের পরিণতি হ'ল স্পষ্টতই পার্মসাইজ এবং ম্যাক্স্পার্মসাইজ জেভিএম যুক্তি উপেক্ষা করা হয় এবং আপনি কখনই কোনও জাভা.লাং পাবেন না utআউটআফ মেমরিরির: পার্মজেন ত্রুটি।
মেটাস্পেসের সুবিধা
মেটাস্পেস টিউনিং
সর্বাধিক মেটাস্পেস সাইজ -XX ব্যবহার করে সেট করা যেতে পারে: ম্যাক্সমেটাসস্পেস সাইজ পতাকাটি এবং ডিফল্টটি সীমাহীন, যার অর্থ শুধুমাত্র আপনার সিস্টেমের মেমরির সীমা। -এক্সএক্স: মেটাস্পেস সাইজ টিউনিং পতাকাটি মেটাস্পেসের প্রাথমিক আকারটিকে সংজ্ঞায়িত করে আপনি যদি এই পতাকাটি নির্দিষ্ট না করেন, রানটাইম সময় অ্যাপ্লিকেশন চাহিদার উপর নির্ভর করে মেটাস্পেসটি গতিশীলভাবে পুনরায় আকার করবে।
পরিবর্তন ভবিষ্যতে অন্যান্য অপ্টিমাইজেশন এবং বৈশিষ্ট্যগুলিকে সক্ষম করে
উন্নত জিসি পারফরম্যান্সও রয়েছে। আরো বিস্তারিত
এটি জেডি 8 এর নতুন বৈশিষ্ট্যগুলির মধ্যে একটি, জেডিকে বর্ধন প্রস্তাবনা 122 এর অংশ :
হটস্পট জেভিএম থেকে স্থায়ী জেনারেশন সরান এবং এভাবে স্থায়ী প্রজন্মের আকার টিউন করা প্রয়োজন।
জাভা 8-তে অন্তর্ভুক্ত করা সমস্ত JEP- র তালিকা জেডিকে 8 মাইলফলক পৃষ্ঠায় পাওয়া যাবে ।
পার্মেনেন্ট জেনারেশন (পার্মগেন) স্থানটি পুরোপুরি সরিয়ে ফেলা হয়েছে এবং মেটাস্পেস নামক একটি নতুন স্থান দ্বারা প্রতিস্থাপিত হয়েছে the পার্মজেন অপসারণের পরিণতি হ'ল স্পষ্টতই পার্মসাইজ এবং ম্যাক্সার্মজ সাইজ জেভিএম যুক্তি উপেক্ষা করা হয় এবং আপনি কখনই পাবেন না java.lang.OutOfMemoryError
: পার্মজেন ত্রুটি।
জেডিকে 8 হটস্পট জেভিএম এখন ক্লাস মেটাডেটার প্রতিনিধিত্বের জন্য নেটিভ মেমরি ব্যবহার করছে এবং তাকে মেটাস্পেস বলে। আরও পড়ুন >>
কারণ পার্মজেন স্থানটি সরানো হয়েছিল। স্মৃতি পরিচালনা কিছুটা বদলে গেছে।
পার্মগেন স্পেসটি জাভা ৮-এ মেটাস্পেস দ্বারা প্রতিস্থাপন করা হয়েছে Per
ক্লাস মেটাডেটার জন্য সর্বাধিক বরাদ্দ এখন দেশীয় মেমরির বাইরে বরাদ্দ। * ক্লাস মেটাডেটা বর্ণনা করতে ব্যবহৃত ক্লাসগুলি সরানো হয়েছে।
পুরানো পার্মজেন এবং নতুন মেটাস্পেসের মধ্যে প্রধান পার্থক্য হ'ল, আপনাকে মেমরির ব্যবহারের উপরের সীমাটি বাধ্যতামূলক করতে হবে না। আপনি মেটাস্পেস স্পেস সীমাটি সীমাহীন রাখতে পারেন। সুতরাং যখন মেমরির ব্যবহার বাড়বে আপনি আউটআফ-মেমরিরির ত্রুটি পাবেন না। পরিবর্তে সংরক্ষিত নেটিভ মেমরি বৃদ্ধি পূর্ণ মেমরির ব্যবহার বাড়ায়।
আপনি মেটাস্পেসের সর্বাধিক সীমা নির্ধারণ করতে পারবেন এবং তারপরে এটি আউটআফমিউরিওর: মেটাডেটা স্পেস ফেলে দেবে। সুতরাং এই সীমাটি সতর্কতার সাথে সংজ্ঞায়িত করা গুরুত্বপূর্ণ, যাতে আমরা স্মৃতির অপচয়কে এড়াতে পারি।
জাভা 8 ওরাকল এর জেভিএম বাস্তবায়ন PermGen মডেল পরিত্রাণ পেয়েছে সঙ্গে এটি প্রতিস্থাপিত Metaspace ।