สัปดาห์ที่ผ่านมา Oracle ออก Java 11 รุ่นจริง ตามนโยบายใหม่ที่ออก Java รุ่นใหม่ทุก 6 เดือน เหมือนกับซอฟต์แวร์หลายตัวในยุคหลัง
ความพิเศษของ Java 11 คือ เป็นรุ่น LTS ที่ซัพพอร์ตยาวนานถึงปี 2026 หรือนาน 8 ปี โดยรุ่น LTS ตัวก่อนหน้านี้คือ Java 8 ที่ยังเป็นรอบการออกแบบเดิม ดังนั้นใครที่สนใจย้ายจาก Java 8 มาเป็นเวอร์ชันใหม่กว่านั้น ก็มองมาที่ Java 11 ได้เลย (LTS ตัวหน้าคือ Java 17 กำหนดออกปี 2021)
การเปลี่ยนแปลงสำคัญใน Java 11 คือการโละของเก่า ได้แก่ การถอดโมดูล Java EE ที่ไม่จำเป็นออก , ถอด JavaFX , ถอด Java Applets และ Java Web Start
อย่างอื่นที่เพิ่มเข้ามาคือ รองรับ Unicode 10, รองรับ TLS 1.3, รองรับอัลกอริทึมเข้ารหัสลับ ChaCha 20 และ Poly1305, HTTP Client (Standard)
Java 11 ยังมีฟีเจอร์ใหม่ได้แก่
- Epsilon GCเป็น garbage collector ที่ทำหน้าที่จัดสรร (allocation) หน่วยความจำเพียงอย่างเดียว ไม่ต้องทำเรื่องการคืนพื้นที่หน่วยความจำ (reclamation)
- Nest-Based Access Controlการจัดระเบียบการเข้าถึง (access control) คลาสและอินเทอร์เฟซแบบใหม่ ที่เรียกว่า nest เป็นฟีเจอร์ในฝั่งของตัวรันไทม์
นอกจากนี้ยังมี Z Garbage Collector (ZGC) เป็น garbage collector ตัวใหม่ที่ทำงานรวดเร็ว ไม่หน่วงเกิน 10ms แต่ยังมีสถานะเป็น experimental
ที่มา - Oracle , The Register , InfoQ
Comments
ตอนเลือกใช้ก็เลือกให้ถูกกันด้วยนะครับ เพราะ Oracle JDK จะเริ่มคิดเงินถ้าใช้ใน production แล้วนะครับ
onedd.net
ใช้ openjdk แทนได้ไหมครับ แต่ openjdk ไม่มี for windows เลย เพราะผม dev บน windows เป็นหลักแต่ deploy บน linux
dev ด้วย oracle jdk ได้ครับ ยังใช้ได้ไม่มีค่าใช้จ่ายเหมือนเดิม
แต่ถ้าไม่จำเป็นจริงๆ ใช้ openjdk ทั้ง stack น่าจะมั่นใจกว่าครับ
onedd.net
ขอบคุณครับ
OpenJDK ของ Windows ก็โหลดได้จากที่นี่นะครับ http://jdk.java.net/11/ จริงๆมีหลายบริษัทที่ build มาให้ แต่ โดยส่วนตัวผมเลือกตัวนี้น่าจะดีสุดครับ
ขอบคุณครับ เพิ่งรู้ว่าเอาจากตรงนี้
เข้าไปแล้ว แต่ทำไมไม่มี jre11 ให้เครื่อง client ละหว่า