LOWNLAB News
โปรแกรมมิ่งระดับ 7/10OpenJDK · 10 กันยายน 2026

JEP 544 เสนอเก็บโค้ดเนทีฟที่คอมไพล์ล่วงหน้าไว้ใน AOT cache ทำ Java สตาร์ตเร็วขึ้น 65-80%

JEP 544: Ahead-of-Time Code Compilation

OpenJDK อัปเดตข้อเสนอ JEP 544: Ahead-of-Time Code Compilation เมื่อวันที่ 10 กันยายน 2026 ซึ่งเป็นก้าวต่อไปของโครงการ Leyden ที่มุ่งลดเวลาสตาร์ตและเวลา warmup ของแอปพลิเคชัน Java ปัจจุบันข้อเสนอยังอยู่ในสถานะ Candidate ยังไม่ถูกกำหนดเข้าเวอร์ชัน JDK ใด

เป้าหมายหลักของข้อเสนอมีสี่ข้อ คือทำให้สตาร์ตและ warmup เร็วขึ้นด้วยโค้ดเนทีฟที่คอมไพล์ไว้ล่วงหน้า รักษาประสิทธิภาพสูงสุดไว้ได้แม้เวิร์กโหลดเปลี่ยน ไม่ต้องแก้ไขโค้ดแอปพลิเคชันแม้แต่บรรทัดเดียว และรองรับสถาปัตยกรรม AArch64 กับ x64

กลไกทำงานคือในรอบ training run ระบบ HotSpot จะคอมไพล์เมธอดที่ถูกเรียกใช้บ่อยเป็นโค้ดเนทีฟ แล้วเก็บลงในไฟล์ AOT cache เมื่อรันในโปรดักชันจริง JVM จะโหลดโค้ดที่แคชไว้มาใช้ทันทีแทนการคอมไพล์ใหม่ และถ้าเวิร์กโหลดเปลี่ยนไปจากตอน training ระบบจะสลับไปใช้ JIT compilation แบบไดนามิกสำหรับเมธอดที่ร้อนขึ้นใหม่ ทำให้ได้ข้อดีของทั้งสองแน���ทางพร้อมกัน

ตัวเลขที่เอกสารระบุคือการปรับปรุงเวลาสตาร์ต "ราว 65% ถึง 80%" บนแอปพลิเคชันที่ใช้ทดสอบ ส่วนช่วง warmup ระบบที่ใช้แคชจะเข้าใกล้ประสิทธิภาพสูงสุดตั้งแต่รอบที่สี่ของการวนทำงาน เทียบกับที่ต้องใช้เวลานานกว่ามากหากไม่มีแคช

ข้อเสนอนี้ต่อยอดจากงานก่อนหน้าในสาย Leyden โดย JDK 24 นำเรื่องการแคชการโหลดและลิงก์คลาสมาก่อน และ JDK 25 เพิ่มการแคชโปรไฟล์ของเมธอด JEP 544 จึงเป็นชิ้นสุดท้ายที่เติมเต็มภาพ คือแคชตัวโค้ดที่คอมไพล์แล้วจริง ๆ ซึ่งหากผ่านเข้าไปในเวอร์ชันจริงจะเป็นข่าวดีสำหรับ Java บนสภาพแวดล้อมที่การสตาร์ตเร็วมีความสำคัญ เช่น serverless และคอนเทนเนอร์ที่สเกลขึ้นลงบ่อย

แหล่งอ้างอิง

อ่านต้นฉบับที่ OpenJDK

https://openjdk.org/jeps/544