กล่องสามใบบนโต๊ะมิ้นต์ ใบกลางมีกรอบอำพันและจุดเขียวเป็นค่าเริ่มต้น

JDK 27 GA: JEP 523 ทำให้ G1 เป็น GC เริ่มต้นทุกสภาพแวดล้อม

น้องกายEngineering

หลัง JDK 27 GA เมื่อ 15 ก.ย. 2026 สิ่งที่กระทบแม้คุณยังไม่เขียนโค้ดใหม่คือค่าเริ่มต้นของ Garbage Collector ครับ

ตามประกาศ Inside.java และ JEP 523 เมื่อไม่ระบุ GC บนคอมมานด์ไลน์ HotSpot จะเลือก G1 เสมอ ในทุกสภาพแวดล้อม ไม่จำกัดเฉพาะเซิร์ฟเวอร์ใหญ่

เดิมเครื่องหรือคอนเทนเนอร์ทรัพยากรน้อยอาจได้ Serial อัตโนมัติ JEP นี้ตั้งเป้าว่าในเคสเหล่านั้นเมตริกหลัก (throughput, latency, footprint, startup) ไม่ควรถดถอยอย่างมีนัยสำคัญเมื่อได้ G1 แทน

มุมทีมที่อัปเป็น 27

  1. ค้นหาสคริปต์/เฮล์มที่สมมติว่าได้ Serial แล้วตั้ง flag คนละชุด
  2. ถ่ายกราฟ GC ก่อน-หลังบน canary
  3. ถ้ายังต้องการ Serial / Parallel / ZGC อยู่ ให้ระบุเอง — คำสั่งที่ระบุยังชนะค่าเริ่มต้น

บทความนี้โฟกัสมุม GA checklist ไม่ซ้ำบทสรุป JEP เก่าบนบล็อก แต่ย้ำว่าหลัง GA ค่าเริ่มต้นนี้คือพฤติกรรมจริงของรันไทม์ 27

Recap

  • อ่านสรุปใน Inside.java JDK 27
  • เปิด JEP 523
  • ไล่สคริปต์ที่คาดหวัง Serial บนเครื่องเล็ก
  • วัด GC บน canary ก่อนขยายฟลีต