পারম স্পেস কী?


88

জাভা মেমরি প্রোফাইলিং সম্পর্কে শিখার সময়, আমি "গাদা" ছাড়াও "পার্ম স্পেস" শব্দটি দেখতে থাকি। আমি জানি যে গাদাটি কী - পারম স্পেস কী?


13
জাভা 8 সম্পূর্ণরূপে এই ধারণাটি সরিয়ে নিয়ে মেটাস্পেসে চলে গেছে
pramodc84

4
রেফারেন্সটি এখানে ভালভাবে ব্যাখ্যা করেছে youtube.com/watch?v=PUUJ4rNpRhU
shareef

উত্তর:


103

এটি স্থায়ী প্রজন্মের জন্য দাঁড়িয়েছে :

স্থায়ী প্রজন্মটি বিশেষ কারণ এটি মেটা ডেটা ধারণ করে যা ব্যবহারকারীর ক্লাসগুলি বর্ণনা করে (ক্লাসগুলি যা জাভা ভাষার অংশ নয়)। এই জাতীয় মেটা-উদাহরণগুলির উদাহরণগুলি শ্রেণি এবং পদ্ধতিগুলি বর্ণনা করে এমন বস্তু এবং সেগুলি স্থায়ী জেনারেশনে সংরক্ষণ করা হয়। বৃহত কোড-বেস সহ অ্যাপ্লিকেশনগুলি java.lang.OutOfMemoryErrorহিপগুলির এই বিভাগটি দ্রুত পূরণ করতে পারে যার কারণ ঘটবে: পারমজেন আপনার-এক্সএমএক্স কত উচ্চ এবং মেশিনে আপনার কত স্মৃতি রয়েছে তা বিবেচনা করে না।


অ্যান্ড্রু, আমি পেরিগেনের আকার কী হতে পারে তা সম্পর্কে জানতে আগ্রহী?
2:37 এ gks

পার্জেন হিপ মেমোরির একটি অংশ (যদি এই উত্তরে বলা হয়েছে) বা এটি অফ-হিপ (এই উত্তরে বলা হয়েছে - stackoverflow.com/a/31103100/3061686 ) কেবল কৌতূহলপূর্ণ
আক্কি

26

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

আপনার আবেদন শুরু করার আগে আপনার java -XX:MaxPermSizeএই ত্রুটি থেকে মুক্তি পাওয়া উচিত rid


স্ট্রিং পুলটি জাভা since থেকে যেহেতু স্তূপ স্থানে স্থানান্তরিত হবে
ক্যাফিন কোডার

20

সরল (এবং ওভারস্পিম্প্লাইফাইড) উত্তর: এটিই যেখানে জেভিএম আপনার ডেটা বিপরীতে নিজস্ব বুককিপিং ডেটা সঞ্চয় করে।


17

পারম জেনার অর্থ স্থায়ী প্রজন্ম যা ক্লাস সম্পর্কে মেটা-ডেটা তথ্য ধারণ করে।

  1. মনে করুন আপনি যদি একটি শ্রেণীর নাম তৈরি করেন তবে এর উদাহরণটি পরিবর্তনশীল হিপ মেমরিতে এবং ক্লাস এ সহ স্ট্যাটিক ক্লাস লোডারগুলি স্থায়ী জেনারেশনে সংরক্ষণ করা হবে।
  2. আবর্জনা সংগ্রহকারীরা স্থায়ী জেনারেশনের স্মৃতিতে সঞ্চিত মেমরির স্থানটি সাফ করা বা মুক্ত করা কঠিন মনে করবে। সুতরাং এটি সর্বদা পরামর্শের সীমাতে পার্মেজ মেমরি সেটিংস রাখার পরামর্শ দেওয়া হয়।
  3. জেভিএ 8 মেটা-স্পেস জেনারেশন নামে ধারণাটি চালু করেছে, সুতরাং আপনি যখন জেডিके ১.৮ সংস্করণ ব্যবহার করেন তখন আর পারগেনের প্রয়োজন হয় না।

5

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


3

এটি ক্লাস সংজ্ঞা, স্ট্রিং পুল ইত্যাদির মতো স্টাফ ধারণ করে I আমি অনুমান করি আপনি এটি মেটা-ডেটা বলতে পারেন।


3

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


2

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


1

পার্মজেন স্পেস স্থায়ী প্রজন্মের জন্য মেমরি বরাদ্দকে বোঝায় যে সমস্ত জাভা অপরিবর্তনীয় বস্তু এই বিভাগের আওতায় আসে, যেমনটি Stringআক্ষরিক বা String.intern()পদ্ধতিতে এবং ক্লাসগুলি স্মৃতিতে লোড করার জন্য তৈরি করা হয়। পার্মজেন স্পেস আমাদের স্ট্রিং সমতা অনুসন্ধানের গতি বাড়ায়।


1
  • জাভিএমের জাভা অবজেক্টগুলির অভ্যন্তরীণ উপস্থাপনা রয়েছে এবং সেই অভ্যন্তরীণ উপস্থাপনাগুলি হিপগুলিতে (তরুণ প্রজন্ম বা টেনারড প্রজন্মের মধ্যে) সংরক্ষণ করা হয়।
  • জেভিএমের জাভা ক্লাসগুলির অভ্যন্তরীণ উপস্থাপনাও রয়েছে এবং সেগুলি স্থায়ী প্রজন্মের মধ্যে সংরক্ষণ করা হয়

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.