Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Project Jigsaw ใน Java 9 คืออะไร


วัตถุประสงค์หลักของ จิ๊กซอว์ โครงการ คือการแนะนำ โมดูลาร์ แนวคิดในการสร้างโมดูลใน 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: ช่วยให้สามารถบรรจุโมดูลและการพึ่งพาได้ในเวลาทำงานที่เล็กลง