วัตถุประสงค์หลักของ จิ๊กซอว์ โครงการ คือการแนะนำ โมดูลาร์ แนวคิดในการสร้างโมดูลใน Java 9 แล้วนำไปใช้กับ JDK .
ด้านล่างนี้คือข้อดีบางประการของModularity (จิ๊กซอว์ )
- การห่อหุ้มที่แข็งแกร่ง: โมดูลสามารถเข้าถึงเฉพาะส่วนที่สามารถใช้ได้ เว้นแต่จะส่งออกแพ็คเกจไปยัง module-info.java . อย่างชัดเจน file คลาสสาธารณะในแพ็คเกจไม่สามารถเป็นสาธารณะได้
- ล้างการขึ้นต่อกัน: โมดูลต้องประกาศเกี่ยวกับโมดูลอื่น ๆ ที่ใช้ผ่านส่วนคำสั่งที่จำเป็น โมดูลต่างๆ ถูกรวมเข้าด้วยกันเพื่อสร้างรันไทม์ที่สั้นลง ซึ่งสามารถปรับขนาดให้เป็นอุปกรณ์คอมพิวเตอร์ที่มีขนาดเล็กกว่าได้อย่างง่ายดาย
- เชื่อถือได้: หลังจากกำจัด of run-time error แอปพลิเคชันมีความน่าเชื่อถือมากขึ้น ตัวอย่างเช่น เราต้องสังเกตว่าแอปพลิเคชันของเราล้มเหลวระหว่างรันไทม์เนื่องจากคลาสหายไปซึ่งส่งผลให้ ClassNotFoundException .
ด้านล่างนี้คือ JEP . ต่างๆ (JDK Enhancement Proposal) เพื่อเป็นส่วนหนึ่งของ จิ๊กซอว์ โครงการ
JEP 200 – โมดูลาร์ JDK: ใช้ประโยชน์จาก Java Platform Module System (JPMS ) สำหรับการทำให้เป็นโมดูล JDK เป็นชุดของโมดูลที่รวมกันที่เวลาบิลด์ เวลาคอมไพล์ หรือรันไทม์
JEP 201 – ซอร์สโค้ดแบบแยกส่วน :แปลงซอร์สโค้ดของ JDK เป็นโมดูลและอัปเกรดเครื่องมือที่สร้างขึ้นเพื่อคอมไพล์โมดูล
JEP 220 – ภาพรันไทม์แบบแยกส่วน :ช่วยปรับโครงสร้างอิมเมจรันไทม์ JRE และ JDK เพื่อรองรับโมดูลสำหรับการปรับปรุงความปลอดภัย , ประสิทธิภาพ และ การบำรุงรักษา .
JEP 260 – สรุป API ภายในส่วนใหญ่: อนุญาตให้เข้าถึง API ภายในส่วนใหญ่ได้โดยตรงหรือผ่านการไตร่ตรอง การเข้าถึง API ภายในที่จำเป็นต้องเปลี่ยนแปลงนั้นค่อนข้างเสี่ยง เพื่อป้องกันการใช้งานนี้ ให้บีบอัดเป็น โมดูล และมีเพียง API ภายในเท่านั้นที่พร้อมใช้งาน
JEP 261 – ระบบโมดูล: มีหน้าที่นำข้อกำหนดของระบบโมดูล Java ไปใช้โดยเปลี่ยน JVM, ภาษาการเขียนโปรแกรม Java และ API มาตรฐานอื่นๆ
JEP 282 - Jlink ตัวเชื่อมโยง Java: ช่วยให้สามารถบรรจุโมดูลและการพึ่งพาได้ในเวลาทำงานที่เล็กลง