ในช่วงกลางเดือนสิงหาคม ทาง Oracle ได้ประกาศ
ความสามารถที่จะเพิ่มและปรับปรุงใน Java 9 ออกมา
โดยมีขั้นตอนการเพิ่มความสามารถใหม่ ชื่อว่า JEPs (Java Enhancement Proposals)
และมาดูกันว่า Java 9 มีความสามารถอะไรที่น่าสนใจบ้าง
เผื่อจะได้คุยกับเขารู้เรื่อง หรือเตรียมตัวรับมือกับมันในอนาคต

Java 9 นั้นมีแผนที่ปล่อยออกมาในต้นปี 2016 นะ
ซึ่งจะเป็น JDK พื้นฐานของ JavaEE 9 ด้วย
โดยใน Java 9 นั้นจะมีความสามารถต่างๆ ต่อไปนี้

  • Modular Java ซึ่งก็คือ Project Jigsaw ซึ่งในตอนแรกมีแผนจะออกมาใน Java 8 แต่โดนโรคเลื่อนออกไป
  • กลุ่มของความสามารถที่ต้องการปรับปรุง เรียกว่า JEPs  (Java Enhancement Proposals)

ทำความรู้จักกับ JEPs กันนิดหน่อย (Java Enhancement Proposals)

เป็นกระบวนการใหม่การเพิ่มความสามารถใหม่ๆ ของภาษา Java และ VM
โดยไม่จำเป็นต้องเขียน JSR ( Java Specification Request ) แบบเต็มๆ
ดังนั้นสิ่งที่อยู่ใน JEPs จึงมีขอบเขตที่ไม่กว้างนัก และ เฉพาะเจาะจงไปเลย
ถ้าทำการสร้างออกมาเสร็จเรียบร้อย สามารถถูกนำไปใส่ในตัวภาษาหลักได้เลย
ซึ่งน่าจะช่วยแก้ไขปัญหาต่างๆ จากกระบวนการเดิมๆ ที่เทอะทะ

มาดูกันว่ามี APIs อะไรบ้าง

เพิ่ม HTTP Client
สร้างมาเพื่อแทนที API เดิมที่แย่มากๆ นั่นก็คือ HttpURLConnection
ซึ่งถ้าใครยังใช้อยู่ ผมแนะนำให้ไปใช้ HTTP Client ดีหว่านะครับ
โดยจะสนับสนุน HTTP 2.0 และ Websocket อีกด้วย

Lightweight JSON API
เป็นกลุ่มของ APIs สำหรับจัดการข้อมูลในรูปแบบ JSON (JavsScript Object Notation)
สนับสนุนทั้งที่เป็นเอกสารและ stream
เนื่องจาก JSON ได้เขามามีบทบาทเหนือกว่า XML แล้ว
ดังนั้น Java ต้องสนับสนุนด้วยเช่นกัน
แต่ผมว่า มันช้าไปนะเออ

แก้ไข Process API
โดยทำการปรับปรุงใน APIs สำหรับการจัดการ process ของ OS (Operating System) ให้ดีขึ้น
เป้าหมายของการแก้ไขครั้งนี้เพื่อให้สามารถทำงานบนอุปกรณ์ขนาดเล็กและต่าง OS กันด้วย

ส่วนเรื่องของ JVM มีด้วยกัน 3 เรื่อง

  1. Improve contended locking  สำหรับปรับปรุงประสิทธิภาพในการจัดการ object ที่ถูกเข้าถึงจากหลายๆ thread
  2. Segment code cache  สำหรับปรับปรุงประสิทธิภาพของ JIT บนระบบขนาดใหญ่
  3. Smart compiler , phase 2 หรือ sjavac สำหรับปรับปรุงการ compile ของระบบขนาดใหญ่

 

สุดท้ายคือเรื่อง Modular source code

โดย code ของ JDK จะถูกจัดอยุ่ในรูปแบบของ modules
มีโครสร้างเป็นไปตามการ implementation ของ Project Jigsaw
ซึ่งจะช่วยทำให้สามารถปรับ JavaSE และ JDK ให้ทำงานเหมาะสมกับอุปกรณ์ต่างๆ ได้ง่าย

มาถึงตรงนี้ก็น่าจะพอทำให้เห็นภาพว่า Java 9 จะมีความสามารถอะไรบ้าง
แต่ก็เป็นเพียงความสามารถชุดแรกที่ถูกประกาศออกมาครับ
ยังมีเวลาอีกประมาณ 2 ปี ซึ่งเราน่าจะเห็นอะไรอีกเยอะ เช่น

  • Project Valhalla
  • Java Native Runtime

Reference Website
http://www.infoq.com/news/2014/08/Java9-FirstFeatures

Tags:,