日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Java9新特性系列(模块化系统: Jigsaw-Modularity)

發布時間:2025/5/22 windows 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java9新特性系列(模块化系统: Jigsaw-Modularity) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

模塊化的前時代

Ant時代 相信大家對Ant都不陌生,Ant是任務型的,定義了一系列的任務dir/compile/jar等等,缺點是操作文件 Maven時代 Maven/Gradle相對于Ant,增加了groupId/artifactId,版本管理,依賴管理 OSGI時代 OSGI用的比較少,估計大家比較陌生,其實我們用的Eclipse及插件都是OSGI編譯的

那么問題來了:當代碼庫越來越大,怎么管理類庫交叉依賴,以及類重復的問題呢?

產生背景及意義

  • 談到Java9大家往往第一個想到的就是Jigsaw項目。眾所周知,Java已經發展超過20年(95年最初發布),Java和相關生態在不斷豐富的同時也越來越暴露出一些問題:

    • Java運行環境的膨脹和臃腫。每次JVM啟動的時候,至少會有30~60MB的內存加載,主要原因是JVM需要加載rt.jar,不管其中的類是否被classloader加載,第一步整個jar都會被JVM加載到內存當中去(而模塊化可以根據模塊的需要加載程序運行需要的class)
    • 當代碼庫越來越大,創建復雜,盤根錯節的“意大利面條式代碼”的幾率呈指數級的增長。不同版本的類庫交叉依賴導致讓人頭疼的問題,這些都阻礙了Java開發和運行效率的提升
    • 很難真正地對代碼進行封裝, 而系統并沒有對不同部分(也就是JAR文件)之間的依賴關系有個明確的概念。每一個公共類都可以被類路徑之下任何其它的公共類所訪問到,這樣就會導致無意中使用了并不想被公開訪問的API。
    • 類路徑本身也存在問題: 你怎么知曉所有需要的JAR都已經有了, 或者是不是會有重復的項呢?
  • 同時,由于兼容性等各方面的掣肘,對Java進行大刀闊斧的革新越來越困難,Jigsaw從Java7階段就開始籌備,Java8階段進行了大量工作,終于在Java9里落地,一種千呼萬喚始出來的意味。

  • Jigsaw項目(后期更名為Modularity)的工作量和難度大大超出了初始規劃。JSR376 Java平臺模塊化系統(JPMS,Java Platform Module System)作為Jigsaw項目的核心, 其主體部分被分解成6個JEP(JDK Enhancement Proposals)。

  • 作為Java9平臺最大的一個特性,隨著Java平臺模塊化系統的落地,開發人員無需再為不斷膨脹的 Java平臺苦惱,例如,您可以使用jlink工具,根據需要定制運行時環境。這對于擁有大量鏡像的容器應用場景或復雜依賴關系的大型應用等,都具有非常重要的意義。

  • 本質上講,模塊(module)的概念,其實就是package外再裹一層,也就是說,用模塊來管理各個package,通過聲明某個package暴露,不聲明默認就是隱藏。因此,模塊化使得代碼組織上更安全,因為它可以指定哪些部分可以暴露,哪些部分隱藏。

設計理念

模塊獨立,化繁為簡 模塊化(以 Java 平臺模塊系統的形式)將JDK分成一組模塊,可以在編譯時,運行時或者構建時進行組合。

實現目標

  • 主要目的在于減少內存的開銷
  • 只須必要模塊,而非全部jdk模塊,可簡化各種類庫和大型應用的 開發和維護
  • 改進Java SE平臺,使其可以適應不同大小的計算設備
  • 改進其安全性,可維護性,提高性能

使用舉例

模塊將由通常的類和新的模塊聲明文件(module-info.java)組成。 該文件是位于 java 代碼結構的頂層,該模塊描述符明確地定義了我們 的模塊需要什么依賴關系,以及哪些模塊被外部使用。在 exports 子 句中未提及的所有包默認情況下將封裝在模塊中,不能在外部使用。 工程目錄結構:

分兩個module:

  • main-module
  • dog-module

dog-module中類如下:

package net.hellomypastor.java9.entity;public class Dog {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;} } 復制代碼

在src目錄下新建module-info.java:

module dog_module {exports net.hellomypastor.java9.entity; } 復制代碼

exports:控制著哪些包可以被其它模塊訪問到。所有不被導出的包 默認都被封裝在模塊里面

main-module中類如下:

package net.hellomypastor.java9;import net.hellomypastor.java9.entity.Dog;public class MyModule {public static void main(String[] args) {Dog dog = new Dog();dog.setName("dog2018");dog.setAge(1);System.out.println("happy new year 2018");System.out.println(dog.getName());System.out.println(dog.getAge());} } 復制代碼

在src目錄下新建module-info.java:

module main_module {requires dog_module; } 復制代碼

requires:指明對其它模塊的依賴

微信公眾號:碼上論劍 請關注我的個人技術微信公眾號,訂閱更多內容

總結

以上是生活随笔為你收集整理的Java9新特性系列(模块化系统: Jigsaw-Modularity)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人免费黄色 | 日本黄色不卡 | 亚洲第8页| 精品久久久久久久久久久久久久久 | 久久成人综合网 | 欧美天天 | 日本黄色片| 欧美日韩中文字幕一区二区三区 | 欧美aaaaaaaaa | 72pao成人国产永久免费视频 | 天天搞夜夜 | 免费日韩精品 | 国产成人精品免费看视频 | a级片一级片 | 日韩av色| 久久久久久一区二区三区 | 五月99久久婷婷国产综合亚洲 | 欧美乱妇狂野欧美视频 | 六月激情 | 国产欧美不卡 | 成年丰满熟妇午夜免费视频 | 四虎影院永久 | 无码精品一区二区免费 | 东北少妇高潮抽搐 | 欧美激情综合 | 动漫一区二区 | 欧美 亚洲| 8x8ⅹ成人永久免费视频 | 爆乳2把你榨干哦ova在线观看 | 在线免费观看黄色av | 亚洲视频一区在线播放 | 亚洲精品国偷拍自产在线观看蜜桃 | 日韩无码精品一区二区 | 精品久久久久国产 | 欧洲av网站 | 亚洲精品www久久久 一级aaa毛片 | 97影音| 国产欧美综合一区 | 午夜一级黄色片 | 男人的天堂毛片 | 欧美日韩激情在线 | 精彩久久| 处破痛哭a√18成年片免费 | 天天干天天草 | 婷婷综合在线视频 | 曰批又黄又爽免费视频 | 青青草一区 | 日日狠狠久久偷偷四色综合免费 | youjizz在线视频 | 中文字幕丰满人伦在线 | 理论片午午伦夜理片影院99 | 成人毛片18女人毛片免费 | 精品国产一区二区三区久久久蜜月 | av手机| 国产精品伦子伦免费视频 | 午夜三级福利 | 中国av一区二区三区 | 小泽玛利亚一区二区三区在线观看 | 日韩一区二区三区在线视频 | 中日韩免费视频 | 欧美日韩午夜爽爽 | 人妻精品无码一区二区 | 高清国产午夜精品久久久久久 | 伊人久久大香线蕉av一区 | 亚洲丝袜色图 | 中字幕视频在线永久在线观看免费 | 男生裸体视频 | 污污在线免费观看 | 欧美久草 | 久久精品国产亚洲 | 国产一区二区三区黄片 | 免费观看a级片 | 6090伦理 | 亚洲日本在线观看视频 | 免费视频国产 | 久本草精品 | 久久夜视频 | 性猛交富婆╳xxx乱大交麻豆 | 日日干天天射 | 麻豆网站在线免费观看 | 久久亚洲国产精品 | 免费看欧美一级特黄a大片 国产免费的av | 亚洲不卡影院 | 91情侣在线 | 办公室荡乳欲伦交换bd电影 | 国产伦精品一区二区三区视频免费 | 欧洲mv日韩mv国产 | 亚洲天堂美女 | 欧美色影院| 国产精品一区2区 | 精品伦精品一区二区三区视频密桃 | 国产一区二区三区黄片 | 久久久久噜噜噜亚洲熟女综合 | 奇米影视中文字幕 | 人妻无码一区二区三区 | 无码人妻丰满熟妇啪啪网站 | av狠狠| 亚洲精品国产一区 | 麻豆av一区二区三区久久 |