Java学习笔记——模块化
生活随笔
收集整理的這篇文章主要介紹了
Java学习笔记——模块化
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、模塊化概述:
無(wú)論是運(yùn)行一個(gè)大型的軟件系統(tǒng),還是運(yùn)行一個(gè)小的程序,即使程序 只需要使用Java的部分核心功能,JVM也要加載整個(gè)JRE環(huán)境。為了 讓Java實(shí)現(xiàn)輕量化,Java9正式的推出了模塊化統(tǒng)。Java被拆分成N 多個(gè)模塊,并允許Java程序可以根據(jù)需要選擇加載程序必須的Java 模塊,這樣就可以讓Java以輕量化的方式來運(yùn)行。2、模塊的基本使用
模塊的基本使用步驟 (1)創(chuàng)建模塊(按照以前的方式創(chuàng)建模塊,創(chuàng)建包,創(chuàng)建類,定義方法) 為了體現(xiàn)模塊的使用,我們創(chuàng)建2個(gè)模塊。一個(gè)myOne,一個(gè)myTwo (2)在模塊的src目錄下新建一個(gè)名為module-info.java的描述性文件,該文件專門定義模塊名,訪問權(quán)限,模塊依賴等信息描述性文件中使用模塊導(dǎo)出和模塊依賴來進(jìn)行配置并使用。 (3)模塊中所有未導(dǎo)出的包都是模塊私有的,他們是不能在模塊之外被訪問的。在myOne這個(gè)模塊下的描述性文件中配置模塊導(dǎo)出模塊導(dǎo)出格式:export包名; (4)一個(gè)模塊要訪問其他的模塊,必須明確指定依賴哪些模塊,未明確指定依賴的模塊不能訪問在myTwo這個(gè)模塊下的描述文件中配置模塊依賴模塊依賴格式:requires 模塊名;注意:寫模塊名報(bào)錯(cuò),需要按下Alt+Enter,然后選擇模塊依賴 (5)在myTwo這個(gè)模塊的類中使用依賴模塊下的內(nèi)容,但是記得要導(dǎo)包3、模塊服務(wù)的使用
服務(wù):從Java6開始,Java提供了一種服務(wù)機(jī)制,允許服務(wù)者和服務(wù)使用者之間完成解耦 簡(jiǎn)單地說,就是服務(wù)使用者只面向接口編程,但不清楚服務(wù)提供者的實(shí)現(xiàn)類Java9的模塊化系統(tǒng)則進(jìn)一步的簡(jiǎn)化了Java的服務(wù)機(jī)制。Java9允許將服務(wù)接口定義在一個(gè)模塊中,并使用uses語(yǔ)句來聲明該服務(wù)接口,然后針對(duì)該服務(wù)接口提供不同的服務(wù)實(shí)現(xiàn)類,這些服務(wù)實(shí)現(xiàn)類可以分布在不同的模塊中,服務(wù)實(shí)現(xiàn)模塊則使用provides語(yǔ)句為服務(wù)接口指定實(shí)現(xiàn)類。 服務(wù)使用者只需要面向接口編程即可。模塊服務(wù)的步驟使用步驟 (1)在myOne模塊下創(chuàng)建一個(gè)包c(diǎn)om.itheima_03,在該包下提供一個(gè)接口,接口中定義一個(gè)抽象方法Public interface Myservice{void service();}(2)在com.itheima_03包下創(chuàng)建一個(gè)包impl。在該包下提供接口的兩個(gè)實(shí)現(xiàn)類Itheima和Czxy (3)在myOne這個(gè)模塊下的描述性文件中添加如下配置模塊導(dǎo)出:export com.itheima_03;服務(wù)提供:provides MyService with Itheima; 指定MyService的服務(wù)實(shí)現(xiàn)類是Itheima(4)在myTwo這個(gè)模塊下的描述性文件中添加如下配置生命服務(wù)接口:uses MyService; (5)在myTwo這個(gè)模塊的類中使用MyService接口提供的服務(wù)ServiceLoader:一種加載服務(wù)實(shí)現(xiàn)的工具 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Java学习笔记——模块化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html textarea 自动高度,H
- 下一篇: java美元兑换,(Java实现) 美元