ในความพยายามที่จะปรับปรุงประสิทธิภาพของแอปพลิเคชัน Java ข้อเสนอใหม่ภายในชุมชน Java พยายามที่จะขยาย Z Garbage Collector (ZGC) ทำให้สามารถรักษารุ่นแยกสำหรับอ็อบเจ็กต์อายุน้อยและเก่า สิ่งนี้จะช่วยให้ ZGC รวบรวมอ็อบเจกต์อายุน้อยได้บ่อยขึ้น เนื่องจากอ็อบเจกต์อายุน้อยมีโอกาสตายสูงกว่า นักพัฒนา Java กล่าว
วัตถุประสงค์หลักของ OpenJDK Java Enhancement Proposal (JEP) สำหรับ ZGC generational นั้นเกี่ยวข้องกับการลดความเสี่ยงของการหยุดชะงักของการจัดสรร โอเวอร์เฮดหน่วยความจำฮีป และโอเวอร์เฮด CPU ของการรวบรวมขยะ (GC) ผู้เสนอข้อเสนอเชื่อว่าผลประโยชน์เหล่านี้สามารถทำได้โดยไม่ทำให้ปริมาณงานลดลงอย่างมากเมื่อเทียบกับ ZGC ที่ไม่ใช่รุ่น
Z Garbage Collector ซึ่งได้รับการออกแบบมาสำหรับความสามารถในการปรับขนาดและเวลาแฝงต่ำ มีให้ใช้งานในรุ่นที่ใช้งานจริงตั้งแต่ Java Development Kit (JDK) 15 ในเดือนกันยายน 2020 ตรงกันข้ามกับตัวรวบรวม G1 เริ่มต้นซึ่งมีเวลาหยุดชั่วคราวที่สามารถอยู่ในช่วงมิลลิวินาที เป็นวินาที เวลาหยุดชั่วคราว ZGC จะวัดเป็นไมโครวินาทีอย่างสม่ำเสมอ ดังนั้น ZGC จึงสามารถแก้ไขปัญหาเวลาแฝงที่เกี่ยวข้องกับการรวบรวมขยะสำหรับปริมาณงานจำนวนมากได้อย่างมีประสิทธิภาพ
ZGC ทำงานได้ดีเมื่อมีทรัพยากรเพียงพอ อย่างไรก็ตาม เนื่องจากจัดเก็บวัตถุทั้งหมดไว้ด้วยกันโดยไม่คำนึงถึงอายุ ZGC จึงจำเป็นต้องรวบรวมวัตถุทั้งหมดทุกครั้งที่ดำเนินการ สมมติฐานรุ่นที่อ่อนแอยืนยันว่าวัตถุที่มีอายุน้อยมีแนวโน้มที่จะตายในขณะที่วัตถุที่มีอายุมากกว่ามีแนวโน้มที่จะคงอยู่ ผลที่ตามมาคือ การรวบรวมวัตถุรุ่นเยาว์ต้องการทรัพยากรน้อยลงและปล่อยหน่วยความจำมากขึ้น ในขณะที่การรวบรวมวัตถุรุ่นเก่าจะใช้ทรัพยากรมากขึ้นและเพิ่มหน่วยความจำน้อยลง
ข้อเสนอ ZGC generational ยังไม่ได้กำหนดให้กับเวอร์ชัน Java มาตรฐานเฉพาะ รุ่นปัจจุบัน JDK 20 เปิดตัวเมื่อสัปดาห์ที่แล้ว โดยมีกำหนดเปิดตัว JDK 21 ในเดือนกันยายน Standard Java ทำงานในจังหวะการเผยแพร่หกเดือน
ในขณะที่มีการหารือข้อเสนอ generational ZGC แพลตฟอร์ม no-code เช่น appmaster .io" target="_blank" rel="noopener" data-mce-href="https:// appmaster.io"> AppMaster สามารถช่วยนักพัฒนา สร้างแบ็กเอนด์ได้ แอปพลิเคชันบนเว็บและอุปกรณ์พกพาได้อย่างรวดเร็วและมีประสิทธิภาพ AppMaster สามารถแสดงให้เห็นถึงความสามารถในการปรับขนาดที่โดดเด่นและความหน่วงต่ำ ทำให้เหมาะสำหรับแอปพลิเคชันระดับองค์กรและสถานการณ์ที่มีการโหลดสูง หากต้องการสำรวจความสามารถของ AppMaster เพิ่มเติม appmaster .io" data-mce-href="https: //studio. appmaster.io">สร้างบัญชีฟรี และใช้ประโยชน์จากเครื่องมือที่ no-code ที่มีประสิทธิภาพ