জাভা 8 এর জন্য ডিফল্ট আবর্জনা সংগ্রহকারী


95

জাভা 8 এর জন্য ডিফল্ট আবর্জনা সংগ্রহকারী কী?

আমি যখন জেএমএক্স বিনগুলি পরীক্ষা করি, তারা এটিকে নতুন প্রজন্মের সমান্তরাল সংগ্রাহক এবং পুরানো প্রজন্মের জন্য পুরানো সিরিয়াল সংগ্রাহক হিসাবে প্রকাশ করে।

উত্তর:


131

ডিফল্ট আবর্জনা সংগ্রহকারী:

  • জাভা 7 - সমান্তরাল জিসি
  • জাভা 8 - সমান্তরাল জিসি
  • জাভা 9 - জি 1 জিসি
  • জাভা 10 - জি 1 জিসি

4
তথ্য উত্স লিঙ্ক করুন।
এডুয়ার্ড ভার্চ

80

ডিফল্ট আবর্জনা সংগ্রহকারী (অন্যান্য জিনিসগুলির মধ্যে) বাছাই করা যাকে বলা হয় জেভিএমের এরজোনমিক্স প্রক্রিয়া। এই প্রক্রিয়াটি আপনার মেশিনের শ্রেণীর উপর নির্ভর করে।

  • সার্ভার-ক্লাস মেশিনের জন্য, 2 বা আরও বেশি শারীরিক প্রসেসর এবং 2 বা ততোধিক গিগাবাইট শারীরিক মেমরির (প্ল্যাটফর্ম নির্বিশেষে) মেশিন হিসাবে সংজ্ঞায়িত, ডিফল্ট আবর্জনা সংগ্রহকারী সমান্তরাল সংগ্রহকারী (এছাড়াও থ্রুপুট সংগ্রাহক হিসাবে পরিচিত)।
  • ক্লায়েন্ট-ক্লাস মেশিনের জন্য, উইন্ডোজ বা একটি একক-প্রসেসর মেশিনে 32-বিট প্ল্যাটফর্ম হিসাবে সংজ্ঞায়িত, ডিফল্ট আবর্জনা সংগ্রহকারী হ'ল সিরিয়াল সংগ্রাহক।

যেহেতু কার্যত সমস্ত মেশিনের 2 বা ততোধিক সিপিইউ থাকে তাই কোনও মেশিনকে কার্যত জেভিএম সর্বদা সার্ভার-ক্লাস হিসাবে বিবেচনা করে। সেই কারণেই আপনি সমান্তরাল সংগ্রাহককে ডিফল্ট আবর্জনা সংগ্রাহক হিসাবে বিবেচনা করে প্রচুর উল্লেখ খুঁজে পাবেন।


56

জাভাতে চার ধরণের আবর্জনা সংগ্রহকারী রয়েছে (সংস্করণ 10 পর্যন্ত), তবে জাভা 11 স্থিতিশীলভাবে প্রকাশের পরে, এটি 5 প্রকারের হবে। এইগুলো:-

  1. সিরিয়াল আবর্জনা সংগ্রাহক- S GC
  2. সমান্তরাল আবর্জনা সংগ্রহকারী- P GC
  3. সিএমএস আবর্জনা সংগ্রাহক- CMS GC
  4. জি 1 আবর্জনা সংগ্রাহক- G1 GC
  5. জেড বর্জ্য সংগ্রাহক- ZGC

জবাতে জিসির ডিফল্ট বাস্তবায়ন -

জেভিএম জিসি

 Java 7 - P GC       
 Java 8 - P GC
 Java 9 - G1 GC
 Java 10- G1 GC
 Java 11- Z GC(I am not sure but it would be default GC of java 11)

জেডজিসির জন্য আরও বিশদ, দয়া করে দেখুন

http://openjdk.java.net/projects/zgc/

https://www.opsian.com/blog/javas-new-zgc-is-very-exciting/

দ্রষ্টব্য: আপনি যদি যাভিএম দ্বারা বর্তমানে কোন জিসি ব্যবহৃত হচ্ছে তা যাচাই করতে চান, আপনি ডিফল্ট জিসিটি দেখানোর জন্য নিম্নলিখিত কমান্ডটিতে যেতে পারেন: -

$ java -XX:+PrintCommandLineFlags -version 

আপনি যদি আপনার প্রয়োজন অনুযায়ী জিসি সেট করতে চান তবে আপনি আদেশটি অনুসরণ করে এটি করতে পারেন। এখানে আমি জি 1 জিসিকে ডিফল্ট জিসি হিসাবে সেট করতে চলেছি।

$ java -XX:+UseG1GC -XX:+PrintCommandLineFlags -version 

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

For more details , please visit 

https://javapapers.com/java/tyype-of-java-garbage-collectors/

https://alvinalexender.com/java/java-jvm-how-show-Wich-garbage-collector-running


আরও তথ্যের জন্য
চিত্রটির

4
হাই @ এক্সাগাফার এখানে সোর্স ইউআরএল জাভাপেপারস
ব্রজেশ

4
@ ব্রাজেশ আমি মনে করি না জেডিসি জেডিকে ১১-র ডিফল্ট জিসি, জেডিকে উইকি খুলুন ( উইকি.ওপেনজডক.জাভা.ট. / ডিসপ্লে / জেগসি / মেইন ) জানিয়েছে "-এক্সএক্স: + আনলকএক এক্সেরিমেন্টাল ভিএমওপশনস-এক্সএক্স: + ইউজজেডিজিসি বিকল্পগুলি সক্ষম করতে জেডজিসি। " তার মানে এটি ডিফল্ট নয়।
আশীষ কুমার

4
না এটি JDK11 এর ডিফল্ট নয়। -এক্সএক্স: + আনলক এক্সপেরিমেন্টাল ভিএমওপশনস-এক্সএক্স: + জেডজিসিকে জেডজিসি আনলক করতে সক্ষম করতে ইউজেডজেজিসি বিকল্পগুলি
vsingh

4
চিত্রের প্রবাহ চিত্রগুলি "সিরিয়াল", "সমান্তরাল" এবং "একযোগে" আবর্জনা সংগ্রহকারীদের মধ্যে পার্থক্য বোঝাতে সত্যিই দরকারী তবে জি 1 সংগ্রাহকের ক্ষেত্রে এটি নয় রঙিন স্কোয়ারের সাথে সত্যই অযৌক্তিক হয়ে ওঠে। তাদের মানে কী? থ্রেড কি স্কোয়ারে পরিণত হয়?
হলগার

-1

জাভা 9 থেকে জাভা 15 পর্যন্ত জি 1 জিসি 15 টি ডিফল্ট এমনকি জাভা 15 এ দুটি নতুন প্রজন্মের আবর্জনা সংগ্রহকারী যুক্ত করেছে যা ওরাকল জেডজিসি বিকাশ করে এবং একটি লাল টুপি বাস্তবায়ন যা শেনানডোহ উভয়ই 2020 সালের 15 সেপ্টেম্বরে জাভা প্রস্তুত রয়েছে।


1. শেনানডোহ শুধুমাত্র ওপেনজেডিকে জন্য প্রয়োগ করে, ওরাকল এটির কাছে নেই। ২. জেডজিসি জেডিকে ৮, বা ১১ টির জন্য ডিফল্ট জিসি নয়, এখনও একটি ব্যবহারের প্রয়োজন UnlockExperimentalVMOptions, তবে জেডিডি ১৫-তে আর নয়। ৩. সমান্তরাল জিসি জেডিকে ৮ এর জন্য ডিফল্ট জিসি, যা এখানে আসলে প্রশ্ন।
ফ্রান্সিসকো মেলো জুনিয়র

আমি উল্লেখ করছি যে জাভা 9 থেকে জাভা 15 জি 1 জিসি অবধি ডিফল্ট ... এমনকি যখন 2 জন নতুন জিসি সম্প্রতি যুক্ত করা হয়েছিল ...
চিপার্তেটিজ

না। আপনি বলেছিলেন Since Java 8 until Java 15 the G1GC is the default even on Java 15, শব্দবন্ধটি ভুল। জেডিকে 8 ডিফল্টটি সমান্তরাল, আপনি নিজের মন্তব্য হিসাবে উত্তরটি এখনও ভুল বলেছিলেন। শেনানডোহ জেডিকে 8 এবং জেডিকে 11 এ ব্যবহার করা যেতে পারে, এটি আবার পোর্ট করা হয়েছিল।
ফ্রান্সিসকো মেলো জুনিয়র

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