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