Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Các loại Module trong Java 9

Module System (JPMS) là tính năng lớn Java 9. Module = tập hợp package, chia 2 loại package: Exported (dùng ngoài) và Concealed (chỉ dùng nội bộ).

4 loại Module

Loại ModuleĐặc điểmVí dụ
Application ModulesModule do dev tạo cho chức năng app. Bao gồm dependency third-party.module com.myapp { ... }
Automatic ModulesJAR không có module-info.jar đặt trên module-path. Tự động thành module, tên từ tên JAR. Cho phép dùng thư viện pre-Java 9.guava-31.1.jar → module guava
Unnamed ModuleJAR/class trên classpath (không trên module-path). Không tên, đọc được tất cả module, export tất cả package. Dùng cho backward compatibility.Legacy app trên classpath
Platform ModulesJDK được module hóa: java.base, java.sql, java.xml, jdk.httpserver...java.base, java.logging

Cấu trúc khai báo module

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

Lưu ý quan trọng

  • java.base là module nền tảng, mọi module đều requires ngầm (không cần khai báo).
  • Automatic Module cho phép migration dần: dùng thư viện cũ như module.
  • Unnamed Module chỉ tồn tại trên classpath – không nên dùng cho code mới.

Hiểu rõ 4 loại module giúp thiết kế kiến trúc modular đúng chuẩn Java 9+.