জাভা 8 এর জন্য ডিফল্ট আবর্জনা সংগ্রহকারী কী?
আমি যখন জেএমএক্স বিনগুলি পরীক্ষা করি, তারা এটিকে নতুন প্রজন্মের সমান্তরাল সংগ্রাহক এবং পুরানো প্রজন্মের জন্য পুরানো সিরিয়াল সংগ্রাহক হিসাবে প্রকাশ করে।
জাভা 8 এর জন্য ডিফল্ট আবর্জনা সংগ্রহকারী কী?
আমি যখন জেএমএক্স বিনগুলি পরীক্ষা করি, তারা এটিকে নতুন প্রজন্মের সমান্তরাল সংগ্রাহক এবং পুরানো প্রজন্মের জন্য পুরানো সিরিয়াল সংগ্রাহক হিসাবে প্রকাশ করে।
উত্তর:
ডিফল্ট আবর্জনা সংগ্রহকারী (অন্যান্য জিনিসগুলির মধ্যে) বাছাই করা যাকে বলা হয় জেভিএমের এরজোনমিক্স প্রক্রিয়া। এই প্রক্রিয়াটি আপনার মেশিনের শ্রেণীর উপর নির্ভর করে।
যেহেতু কার্যত সমস্ত মেশিনের 2 বা ততোধিক সিপিইউ থাকে তাই কোনও মেশিনকে কার্যত জেভিএম সর্বদা সার্ভার-ক্লাস হিসাবে বিবেচনা করে। সেই কারণেই আপনি সমান্তরাল সংগ্রাহককে ডিফল্ট আবর্জনা সংগ্রাহক হিসাবে বিবেচনা করে প্রচুর উল্লেখ খুঁজে পাবেন।
জাভাতে চার ধরণের আবর্জনা সংগ্রহকারী রয়েছে (সংস্করণ 10 পর্যন্ত), তবে জাভা 11 স্থিতিশীলভাবে প্রকাশের পরে, এটি 5 প্রকারের হবে। এইগুলো:-
S GC
P GC
CMS GC
G1 GC
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
জাভা 9 থেকে জাভা 15 পর্যন্ত জি 1 জিসি 15 টি ডিফল্ট এমনকি জাভা 15 এ দুটি নতুন প্রজন্মের আবর্জনা সংগ্রহকারী যুক্ত করেছে যা ওরাকল জেডজিসি বিকাশ করে এবং একটি লাল টুপি বাস্তবায়ন যা শেনানডোহ উভয়ই 2020 সালের 15 সেপ্টেম্বরে জাভা প্রস্তুত রয়েছে।
UnlockExperimentalVMOptions
, তবে জেডিডি ১৫-তে আর নয়। ৩. সমান্তরাল জিসি জেডিকে ৮ এর জন্য ডিফল্ট জিসি, যা এখানে আসলে প্রশ্ন।
Since Java 8 until Java 15 the G1GC is the default even on Java 15
, শব্দবন্ধটি ভুল। জেডিকে 8 ডিফল্টটি সমান্তরাল, আপনি নিজের মন্তব্য হিসাবে উত্তরটি এখনও ভুল বলেছিলেন। শেনানডোহ জেডিকে 8 এবং জেডিকে 11 এ ব্যবহার করা যেতে পারে, এটি আবার পোর্ট করা হয়েছিল।