ผ่านมา 6 เดือนที่ Java 10 ถูกปล่อยออกมา
ก็ได้เวลาของ Java 11 กันบ้าง (ตามแผนมาก ๆ)
ในเรื่องของ feature ต่าง ๆ นั้นก็จัดว่าเยอะอยู่แล้ว
เหมือนกับการนำ Java 9 + 10 มานั่นเอง
อีกอย่างที่น่าสนใจคือ เรื่องของ Licence และรอบของการ support/release จากทาง Oracle
หรือ Long Term Support (LTS) ซึ่งจะมีรอบในการ release ทุก ๆ 6 เดือนนั่นเอง
เริ่มจากการ Download มาใช้งานที่ Oracle หรือ Open JDK
ถ้าไปที่ Oracle จะเจอหน้าแบบนี้
ลองอ่านเพิ่มเติมครับ เรื่องมันยาว
ปล. เพื่อความปลอดภัยในการใช้งาน
แนะนำให้ใช้งาน Open JDK ไปครับ เพราะว่ายังใช้ licence เดิม
มาดู feature ที่น่าสนใจดีกว่า
แน่นอนว่ามีของใหม่มา ของเก่าก็ต้องจากไป
ยกตัวอย่างของที่ถูกเอาออกไปทั้ง CORBA และ Java EE
รวมไปถึง JavaFX ที่ถูกแยกออกไปเป็นอีก module
ทำให้สิ่งต่าง ๆ เหล่านี้ถูกแยกออกไปจาก JDK นั่นเอง
ส่งผลทำให้การดูแล JDK ง่ายขึ้น เช่นเรื่องของ backward compatability เป็นต้น
แต่ตอนนี้ก็เจ็บปวดกันหน่อย
เนื่องจากในตอนนี้ Java Module System ถูกนำมาใช้เต็ม ๆ
แม้แต่ของใหม่ที่เพิ่มเข้ามาอย่าง Nashorn JavaScript Engine
ก็ยัง deprecated เลย แน่นอนว่าในอนาคตโดนถอดออกไปแน่
ส่วน feature ที่น่าสนใจ ประกอบไปด้วย
- HTTP client
- Local-Variable syntax for Lambda parameters
- Launch Single-File Source-Code Programs
- TLS 1.3
- Epsilon: A No-Op Garbage Collector
- Java Flight Recorder (JFR)
- Project ZGC
มาดูตัวอย่างการใช้งานในมุมมองนักพัฒนาบ้าง
ตัวอย่างที่ 1 คือ Launch Single-File Source-Code Programs
ทำมาเพื่อให้ง่ายต่อการ run program เลย
เพียงแค่บันทึกเป็นไฟล์นามสกุล .sh จากนั้นก็ run เลยดังนี้
จากนั้นทำการ run ด้วยคำสั่ง
$./Hello.sh Hello java script ...
ตัวอย่างที่ 2 คือ Local-Variable syntax for Lambda parameters
ลองไปเล่นกันดูครับ ชีวิตปวดหัวกับ licence กันอีกแล้ว
Oracle JDK = commercial
OpenJDK = free มันคือ new default หรือหลาย ๆ คนอาจจะใช้มานานแล้ว
อีก 6 เดือน เจอกันกับ Java 12
สุดท้าย ถ้าใครจะศึกษา Java 9, 10 และ 11
แนะนำมาที่ 11 เลยนะครับ