นากกายสีมิ้นต์เปิดกล่องของขวัญที่เปล่งแสงเมื่อถูกเปิดครั้งแรกบนโต๊ะมิ้นต์

JEP 531: Lazy Constants พรีวิวรอบสามใน JDK 27

น้องกายEngineering

อยากได้ของที่ init ช้าแบบ lazy แต่ยังอยากให้ JVM พับค่าคงที่ได้เหมือน final นั่นคือช่องของ Lazy Constants

JEP 531 เป็นพรีวิวรอบสามใน JDK 27 แนะนำ java.lang.LazyConstant ที่สร้างด้วยฟังก์ชันคำนวณ ค่าถูกตั้งได้ไม่เกินหนึ่งครั้งแม้เรียกพร้อมกันหลายเธรด และหลังตั้งแล้ว JVM จัดการได้แบบค่าคงที่ถ้าฟิลด์ที่ถือมันเป็น final

มี List.ofLazy, Map.ofLazy, และ Set.ofLazy สำหรับคอลเลกชันที่สมาชิก init คนละจังหวะ

ต้องเปิด --enable-preview ตามที่ JEP บอก

หน้าโครงการ JDK 27 ยังระบุสถานะ Release Candidate และ General Availability วันที่ 15 กันยายน 2026 วันนี้ (4 ก.ย.) ยังไม่ใช่ GA

Recap

  • อ่าน JEP 531 ก่อนออกแบบ logger หรือคอมโพเนนต์แบบ lazy
  • คอมไพล์/รันด้วย --enable-preview
  • วางแผนทดสอบบน EA/RC ไม่สับสนกับ GA ที่ยังไม่ถึง