
ในเดือนกันยายนนี้ 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