java_9
จากงาน Java One 2015 ที่ผ่านมานั้น
ทีมของ Jigsaw project ได้มาพูดเรื่องต่าง ๆ ที่น่าสนใจของ JDK 9
ไม่ว่าจะเป็น

  • Prepare for JDK 9
  • Introduction to Modular Development
  • Advance Modular Development
  • Project Jigsaw: Under the Hood

ซึ่งเป็นเนื้อหาที่ Java Developer ทุก ๆ คนต้องดู ต้องรู้กันนะ

มาดูเรื่องแรกกันก่อนดีกว่า คือ Prepare for JDK 9

สามารถดู VDO และ Slide ได้เลย

สามารถสรุปเนื้อหาได้ดังนี้
หลัก ๆ คือ
ถ้าจะทำการย้ายจาก JDK 8 ไป 9 นั้นต้องเตรียมตัวอย่างไรบ้าง ?

เนื่องจากมันมีการเปลี่ยนแปลงจำนวนมาก
ทั้งสิ่งที่เพิ่มเข้ามา
ทั้งสิ่งที่กำลังจะถูกลบออกไปใน JDK 10
ทั้งสิ่งถูกลบออกไปจาก JDK 9

APIs ที่จะถูกลบออกไปใน JDK 10 หรือ Deprecated ใน JDK 9

ประกอบไปด้วย

  • sun.misc.Unsafe
  • sun.misc.{Signal,SignalHandler}
  • sun.misc.Cleaner
  • sun.reflect.Reflection::getCallerClass
  • sun.reflect.ReflectionFactory

APIs ที่ถูกลบออกไปจาก JDK 9

ประกอบไปด้วย

  • java.util.logging.LogManager::addPropertyChangeListener
  • java.util.logging.LogManager::removePropertyChangeListener
  • java.util.jar.Pack200.Packer::addPropertyChangeListener
  • java.util.jar.Pack200.Packer::removePropertyChangeListener
  • java.util.jar.Pack200.Unpacker::addPropertyChangeListener
  • java.util.jar.Pack200.Unpacker::removePropertyChangeListener

โครงสร้างของ JDK และ JRE ที่เปลี่ยนไป

แสดงดังรูป

javaone-project-jigsaw-jdk-structure

โดยรวมแล้ว Java Developer ต้องเตรียมตัวให้พร้อม

ไม่ว่าจะเป็น

  • ใช้งาน jdeps tool สำหรับการตรวจสอบว่า code ของเราใช้งาน JDK APIs อะไรบ้าง ?
  • ตรวจสอบ code ว่า identifier ใช้ underscore หรือไม่ เพราะว่าจะไม่อนุญาตแล้วนะ !!
  • ถ้าใช้พวก IDE ในการพัฒนา ให้ดูด้วยว่ามีการใช้งานพวก rt.jar และ tools.jar หรือไม่ ?
  • ทำการทดสอบ และ ทดลองใช้ JDK 9 EA และ Jigsaw project ซะ อย่าช้า !!

มีคำถามที่น่าสนใจ คือ

ทาง Oracle จะเลิก support Java 8 เมื่อไร ?
คำตอบที่ได้คือ ไม่มีใครรู้คำตอบที่แท้จริง
แต่ถ้าไปดูที่ Oracle Update Policy
จะได้คำตอบตอนนี้ว่า Support ไปจนกว่าจะถึงสิ้นเดือนกันยายน 2017 แน่นอน !!

ดังนั้นจงเตรียมพร้อมกับ JDK 9 กันเถอะนะ

Reference Websites
http://openjdk.java.net/projects/jigsaw/j1/
http://blog.codefx.org/java/dev/javaone-2015-prepare-for-jdk-9/
http://blog.takipi.com/java-9-code-tools-a-hands-on-session-with-the-java-microbenchmarking-harness/