java9學習筆記1-模塊系統

  • exports
    導出包,使得被導出的包可以被new,以及反射訪問public類以及public屬性
  • open
    開放包,或者開放模塊,使得 可以被深度反射訪問(但不能被new等操作)
    使用open模塊時,如果不require該模塊,則需要在javac 命令中加入參數 --add-modules 模塊名稱,模塊名稱
  • require
    加入依賴
    requires [transitive] [static] <module>;
    transitive :隱式依賴 static:運行時可選依賴

模塊創建規則

  • 在同一個項目中.如果存在多個模塊,那么這些模塊中不能包含相同的 包名
  • 模塊系統沒有子模塊的概念。 也就是說,com.jdojo.person和com.jdojo.person.client是兩個單獨的模塊; 第二個不是第一個的子模塊

模塊類型

  • 普通模塊(Normal modules)
  • 開發模塊(Open modules)
  • 自動模塊(Automatic modules)
    1 模塊名稱生成規則
    2 默認導出所有,開放模塊
    3 因為沒有辦法指定require,因此運行時,需要增加 --add-modules
  • 未命名模塊(Unnamed modules)
    1 未命名模塊訪問 普通模塊,同樣需要在編譯和運行時 --add-modules
    2 普通模塊訪問 未命名模塊,需要將編譯和運行時 -classpath 未命名模塊路徑,且僅能使用反射訪問,或者用自動模塊作為橋梁
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,740評論 18 399
  • 熟悉我的人基本都會知道,我一直喜歡用安卓,準確的說,是喜歡用 Google 的安卓。在用過和體驗一堆安卓手機后,我...
    不靠譜電臺閱讀 250評論 0 1
  • 在最近的幾天里,朋友圈里很多人都在爭先搶后地發著心靈雞湯式的段子,內容大多數不過是回顧過去2016年的不足和...
    李幺兒yaoer閱讀 196評論 0 0
  • 四月剛揮手而過,五月就迎面趕來。 總結四月做了哪些有意義的事情: 1、讀了6本書《書都不會讀,你還想成功》,《說話...
    拾樂者閱讀 397評論 2 1