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

โมดูลใน Java 9 มีกี่ประเภท และแตกต่างกันอย่างไร

Module System เป็นฟีเจอร์ใหม่ใน Java 9 โมดูลคือ ชุดของแพ็กเกจ แบ่งเป็น 2 ประเภท: Exported packages (ใช้ภายนอกได้) และ Concealed packages (ใช้ได้เฉพาะภายในโมดูลเท่านั้น)

4 ประเภทของโมดูลใน Java 9

  • Application Modules: โมดูลที่สร้างขึ้นเพื่อฟังก์ชันการทำงาน ทุก third-party dependencies อยู่ในกลุ่มนี้
  • Automatic Modules: ไฟล์ JAR ที่วางบน module path โดยไม่มี module descriptor ได้รับการจัดเป็น automatic modules ประโยชน์หลักคือใช้ pre-Java 9 JARs ได้
  • Unnamed Module: JAR หรือคลาสใดๆ บน classpath อยู่ใน unnamed module ไม่มีชื่อ จึงอ่านและ export โมดูลทั้งหมดได้
  • Platform Modules: JDK ถูกเปลี่ยนโครงสร้างเป็นโมดูลาร์ เรียกว่า platform modules (เช่น java.base, java.sql, java.logging)

รูปแบบการประกาศโมดูล

module <Module-Name> {
    requires moduleName;
    exports packageName;
}

สรุปความแตกต่าง

ประเภทModule Descriptorเข้าถึงโมดูลอื่นถูกเข้าถึงโดย
Applicationมี (module-info.java)ระบุด้วย requiresโมดูลที่ require นี้
Automaticไม่มี (JAR ธรรมดา)เข้าถึงทุกโมดูลได้ทุกโมดูล (export ทุกแพ็กเกจ)
Unnamedไม่มี (classpath)เข้าถึงทุกโมดูลได้ไม่มี (ไม่มีชื่อ)
Platformมี (ใน JDK)ระบุด้วย requiresโมดูลที่ require นี้