ในเดือนกันยายนนี้ Java 25 จะถูกปล่อยออกมาให้ใช้งาน
ซึ่งเป็น LTS release ใหม่ของ Java
โดยมี feature ใหม่ ๆ และ ปรับปรุงประสิทธิภาพการทำงานที่น่าสนใจ ดังนี้

  • JEP 502 Stable value API
  • JEP 505 Structured concurrency
  • JEP 507 Primitive types in pattern matching
  • JEP 511 Module import declaration
  • JEP 512 Compact source file แบะ instance main method
  • JEP 513 Flexible constructor body
  • JEP 515 Ahead-of-Time(AOT) method profiling

เริ่มด้วยการติดตั้ง Java 25

มาดูตัวแรกคือ JEP 507 Primitive types in pattern matching

สามารถตรวจสอบ primitive data types ได้แล้ว
ยกตัวอย่าง code ดังนี้

มาดูตัวที่สองคือ JEP 511 Module import declaration

จากแนวทางเดิมต้องทำการประกาศในไฟล์ module-info.java
แต่ใน version นี้ สามารถ import ใน code ได้เลย
ซึ่งเขียนในส่วนของการ import ปกติได้เลย
ยกตัวอย่างเช่น

ตัวที่สามคือ JEP 513 Flexible constructor body

ใน constructor นั้น เราสามารถเพิ่ม code เข้ามาก่อนจะเรียก this() หรือ super() ได้
ทำให้มีความยืดหยุ่นต่อการใช้งานมากขึ้น
เช่น การ validate ข้อมูล หรือ initial ค่าต่างๆ เป็นต้น
ตัวอย่าง code

ตัวที่สี่คือ JEP 505 Structured concurrency

เป็นอีกหนึ่งรูปแบบของการจัดการ concurrent process หรือ thread นั่นเอง
โดยที่ Structured concurrency นั้น
ช่วยทำให้การจัดการ code ทำงานง่ายขึ้น และ อ่านง่ายขึ้น
และยังการันตีว่าจะทำการเสร็จ หรือ ยกเลิกทั้ง group ไปเลย
มาดูตัวอย่าง code

และสุดท้าย back to basic ด้วย Hello Java

ลอง Download มาลองเล่น feature ต่าง ๆ กันดู
ส่วนใหญ่จะยังเป็น preview feature กันอยู่
ยังมีเรื่องของ AOT ที่เพิ่มเข้ามาส่วนของ runtime ที่น่าสนใจ
ทำให้ startup ได้รวดเร็วขึ้น และใช้ memory น้อยลง !!

Reference Websites