การเปลี่ยนแปลงสำคัญใน Java 9 คือ ระบบโมดูล (Module System) ซึ่งมอบ JVM แบบโมดูลาร์ ที่ทำงานได้บนอุปกรณ์ที่มีหน่วยความจำน้อยลง JVM จะทำงานด้วยโมดูลและ API ที่แอปพลิเคชันต้องการเท่านั้น
module Module-Name { requires moduleName; exports packageName; }
ด้านล่างคือข้อดีและข้อเสียของระบบโมดูล:
ข้อดีของโมดูล
- การเปลี่ยนแปลงหลักใน Java 9 คือกลายเป็นระบบโมดูลพร้อม JDK แบบโมดูลาร์, ซอร์สโค้ดแบบโมดูลาร์, และ รันไทม์อิมเมจแบบโมดูลาร์
- API ภายในถูกซ่อนอยู่ในโมดูล
- ระบบโมดูลสร้างโอกาสมากขึ้นสำหรับการพัฒนาโครงการที่จัดการ การประมวลผลข้อมูลแบบกระจาย ตัวอย่างเช่น Java 9 ใหม่ถูกนำไปใช้สร้างโซลูชันและ แพลตฟอร์ม IoT ที่ต้องประมวลผลข้อมูลต่างๆ พร้อมกัน
- โมดูลใน Java ทำให้ เมธอด เป็น public ภายในโมดูลและจำกัดการเข้าถึงสำหรับผู้ใช้ทั่วไป
ข้อเสียของโมดูล
- หลังปล่อย Java 9 เวอร์ชันก่อนหน้าของ Java จะไม่ได้รับการสนับอีกต่อไป และลูกค้าอาจต้องใช้เวลาและทรัพยากรในการย้ายโค้ด
- หากโครงการยังอยู่ในขั้นตอนการพัฒนา อาจไม่ยากนัก แต่การย้ายโค้ดอาจเป็นปัญหา嚴重สำหรับโซลูชันอื่นๆ
- ปัญหา相互依存ของโปรแกรมและไลบรารียังไม่ได้รับการแก้ไข ทำให้การติดตั้งผลิตภัณฑ์ใหม่และการถอนการติดตั้งเก่าๆ อาจเป็นเรื่องยาก