天天看點

java9-子產品化介紹

java9的子產品化類似于nodejs,如果大家學過,可能更好了解子產品化的概念。Oracle為什麼要給java加入子產品化,主要有以下幾個問題:

  • 整個jre環境太大了,運作一個hello world也需要整個幾百兆的jre環境
  • public是對任何東西都開放的,也可以通路内部的api,并且可以通過反射擷取任何資訊
  • 可以細粒度的控制依賴關系,比jar更好的依賴管理

jdk的目錄也變了,現在是這樣的

java9-子產品化介紹

子產品可以了解為是代碼和資料的封裝體,有一個配置的檔案​

​module-info.java​

​,在裡面聲明需要引入哪些子產品,此子產品需要對外提供什麼。我們看一下java.compiler的module-info

java9-子產品化介紹