成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

獨(dú)家專訪林昊:一步一步了解Java模塊化

原創(chuàng)
開(kāi)發(fā) 后端
2010年將是Java模塊化的一年。51CTO編輯希望能在這一年中讓更多的開(kāi)發(fā)者了解模塊化編程的概念,它的學(xué)習(xí)、實(shí)現(xiàn)方式以及它的好處,為此,我們請(qǐng)來(lái)了國(guó)內(nèi)OSGi先鋒,淘寶網(wǎng)平臺(tái)架構(gòu)部架構(gòu)師林昊(@BlueDavy)為大家進(jìn)行一次簡(jiǎn)單的普及介紹。

【51CTO獨(dú)家特稿】模塊化編程從UNIX開(kāi)始興起,自Eclipse和NetBeans等插拔式IDE獲得巨大成功之后,在最近幾年受到廣泛關(guān)注。51CTO開(kāi)發(fā)頻道曾對(duì)模塊化編程的優(yōu)點(diǎn)與實(shí)現(xiàn)原理進(jìn)行過(guò)簡(jiǎn)單的介紹,并且在Java模塊化方面,對(duì)OSGi規(guī)范進(jìn)行了持續(xù)的報(bào)道。

但是,很多Java開(kāi)發(fā)者對(duì)模塊化編程仍然接觸不多,對(duì)Java的模塊化的進(jìn)展也不甚了解。多方觀望,2010年將是Java模塊化的一年,因此51CTO編輯希望能在這一年中讓更多的開(kāi)發(fā)者了解模塊化編程的概念,它的學(xué)習(xí)、實(shí)現(xiàn)方式以及它的好處。為此,我們請(qǐng)來(lái)了一位國(guó)內(nèi)的OSGi布道者為大家進(jìn)行一次簡(jiǎn)單的普及介紹。

有請(qǐng)China OSGi User Group Director,淘寶網(wǎng)平臺(tái)架構(gòu)部架構(gòu)師——林昊(@BlueDavy)。林昊是《OSGi原理與最佳實(shí)踐》一書(shū)的作者。

[[8603]] 
林昊的Twitter:@BlueDavy

此次采訪模式為郵件采訪,林昊對(duì)51CTO編輯提出的7個(gè)問(wèn)題一一進(jìn)行了回復(fù)。內(nèi)容如下:

1. 模塊的實(shí)現(xiàn)和傳統(tǒng)編程方法有何不同?開(kāi)發(fā)者需要學(xué)習(xí)哪些知識(shí)(比如版本控制、依賴性管理、規(guī)范的接口設(shè)計(jì)等)?

林昊:模塊的實(shí)現(xiàn)和傳統(tǒng)的編程方法確實(shí)有一些差別,主要體現(xiàn)在模塊之間類訪問(wèn)的隔離、版本選擇這兩個(gè)方面。如希望更好的設(shè)計(jì)模塊化的系統(tǒng),開(kāi)發(fā)者需要學(xué)習(xí)ClassLoader機(jī)制、模塊之間類的交互方法(這包括了模塊怎么樣對(duì)外提供可訪問(wèn)的package、怎么樣訪問(wèn)其他模塊提供的package、如何選擇適合版本的package等)。

2. 對(duì)模塊化的形容,我們往往使用“高內(nèi)聚”,“低耦合/松散耦合”這樣的用語(yǔ)。您是如何理解這兩個(gè)概念的?

林昊:高內(nèi)聚、低耦合更多程度是指讓模塊之間的依賴是清晰的,內(nèi)聚體現(xiàn)在內(nèi)部對(duì)功能實(shí)現(xiàn)的封裝,而低耦合體現(xiàn)在模塊對(duì)外提供的接口是可控的。在模塊化之前,在Java體系中更多的是通過(guò)public、protected、private這樣的作用域來(lái)保證依賴清晰(參考閱讀:模塊化概念解惑);但事實(shí)證明,這樣的方法來(lái)保證不是非常有效。而在模塊化的體系中,則會(huì)有明確的模塊之間接口暴露以及依賴的定義,因此能夠更好的實(shí)現(xiàn)高內(nèi)聚和低耦合。

3. 模塊化編程的好處有哪些?它解決了原來(lái)那種緊密耦合式編程中存在的哪些問(wèn)題?

林昊:模塊化編程最大的好處在于有效的控制和避免了模塊被外部誤用。其他方面的好處在于各模塊可以方便的做到引用自己所需要依賴的包,避免產(chǎn)生包沖突現(xiàn)象,對(duì)于現(xiàn)有java體系而言,另外一個(gè)好處則是可以做到多版本的共存。

4. 您覺(jué)得模塊化編程最大的難點(diǎn)在哪里?在您的模塊化開(kāi)發(fā)過(guò)程中,理清邏輯和層次所花的時(shí)間和編寫(xiě)代碼花費(fèi)的時(shí)間大致是怎樣的比例?

林昊:模塊化編程最大的難點(diǎn)一方面是設(shè)計(jì)方面的挑戰(zhàn),在沒(méi)有實(shí)際隔離情況下模塊化的設(shè)計(jì)其實(shí)并不會(huì)真正做到有效的模塊隔離的設(shè)計(jì);另一方面是在開(kāi)發(fā)過(guò)程中,以前的開(kāi)發(fā)習(xí)慣都需要改變,例如以前需要依賴其他模塊時(shí),可以采用直接依賴工程或依賴jar的方式,但在模塊化的系統(tǒng)中則不行。

在實(shí)際的模塊化開(kāi)發(fā)過(guò)程中,更多的時(shí)間仍然會(huì)花費(fèi)在設(shè)計(jì)階段。

5. 我們來(lái)談?wù)凮SGi規(guī)范。OSGi模塊化規(guī)范有什么特點(diǎn)?

林昊:OSGi是Java中目前唯一的一個(gè)模塊化、動(dòng)態(tài)化的規(guī)范。在模塊化方面OSGi聯(lián)盟已經(jīng)研究了很多年了,因此OSGi規(guī)范對(duì)于模塊的物理隔離、模塊的交互、多版本這些方面都有了非常完善的機(jī)制,并且也得到了現(xiàn)在幾乎所有的App Server廠商或開(kāi)源社區(qū)的認(rèn)可。

6. 雖然OSGi已經(jīng)是有十多年發(fā)展的成熟的模塊化標(biāo)準(zhǔn),但Sun在對(duì)Java進(jìn)行模塊化的時(shí)候卻選擇采用JSR 294,并在Java 7當(dāng)中開(kāi)展Jigsaw項(xiàng)目。您對(duì)此有什么看法?

#t#林昊:JCP在關(guān)于Java 7納入模塊化后到底采用什么標(biāo)準(zhǔn)爭(zhēng)論了非常久,JSR 294是個(gè)研討了多年的規(guī)范,但最后不了了之;Sun現(xiàn)在另起爐灶做Jigsaw,但其實(shí)并沒(méi)有得到多大的擁護(hù),各App Server仍然采用OSGi作為其基礎(chǔ)平臺(tái)就是最好的證明(參考閱讀:JSR 294被叫停 應(yīng)用服務(wù)器押寶OSGi)。可以說(shuō)現(xiàn)在OSGi已經(jīng)是Java領(lǐng)域模塊化、動(dòng)態(tài)化的事實(shí)性標(biāo)準(zhǔn)。

7. 您認(rèn)為理想的Java模塊化標(biāo)準(zhǔn)應(yīng)該具備怎樣的特點(diǎn)?您對(duì)Java模塊化的發(fā)展有怎樣的期待?

林昊:Java模塊化標(biāo)準(zhǔn)應(yīng)有明確的模塊定義、模塊之間隔離機(jī)制的定義、模塊交互機(jī)制的定義,個(gè)人認(rèn)為在模塊化這一方面OSGi已經(jīng)做到非常好了,當(dāng)然,如果是語(yǔ)言級(jí)能支持就更完美了。

對(duì)于Java模塊化的發(fā)展而言,還是希望Sun能放開(kāi)胸懷,采用OSGi作為Java模塊化的實(shí)現(xiàn)基礎(chǔ),并納入語(yǔ)言級(jí)中。

責(zé)任編輯:yangsai 來(lái)源: 51CTO.com
相關(guān)推薦

2009-07-06 19:29:37

云計(jì)算私有云服務(wù)器虛擬化

2022-08-29 15:19:09

CSS煙花動(dòng)畫(huà)

2019-03-05 14:09:27

Docker存儲(chǔ)容器

2019-07-09 15:23:22

Docker存儲(chǔ)驅(qū)動(dòng)

2018-12-24 10:04:06

Docker存儲(chǔ)驅(qū)動(dòng)

2018-03-07 15:24:41

PythonMySQL

2013-03-18 16:09:27

JavaEEOpenfire

2011-06-07 16:03:48

匿名SQL Server

2022-09-30 15:37:19

Web網(wǎng)站服務(wù)器

2017-09-28 09:40:36

圖像分類準(zhǔn)確率

2009-12-18 16:27:43

Cisco路由器配置

2012-03-22 10:33:33

思杰XenDesktop

2019-11-04 10:06:19

MySQL索引

2010-07-12 17:10:23

Android應(yīng)用程序

2017-11-29 11:14:52

離線緩存URL協(xié)議緩存

2017-08-24 08:31:41

2024-07-22 11:43:28

LVMPnetLab網(wǎng)絡(luò)

2009-12-17 08:57:28

Windows 7磁盤(pán)分區(qū)

2021-11-12 11:28:01

Linux 內(nèi)核驅(qū)動(dòng)Linux 系統(tǒng)

2025-04-08 09:30:00

SeataDocker分布式系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 在线免费观看毛片 | 黄色一级大片视频 | 91大神新作在线观看 | 99精品久久久久久久 | 国产日韩一区二区三区 | 中文字幕高清免费日韩视频在线 | 全免费a级毛片免费看视频免费下 | 亚洲国产成人精品女人久久久 | 亚洲iv一区二区三区 | 免费毛片网 | 91久久精品一区二区二区 | 性大毛片视频 | 欧美视频网 | www.日韩av.com| 黄色片免费看视频 | 96国产精品久久久久aⅴ四区 | 99久久国产免费 | 99爱国产| 成人天堂噜噜噜 | 亚洲 欧美 另类 综合 偷拍 | 成人精品视频在线观看 | 亚洲一区在线日韩在线深爱 | 妖精视频一区二区三区 | 欧美成人在线影院 | 国产精品久久久久久婷婷天堂 | 亚洲欧美综合精品久久成人 | 亚洲免费一区 | 国产精品美女www爽爽爽视频 | 国产一区二区三区四区在线观看 | 欧美在线成人影院 | 日韩精品免费一区 | 91色视频在线观看 | 国产激情在线 | 国产午夜精品一区二区三区 | 91pron在线| 99久久精品免费看国产四区 | 在线播放一区二区三区 | 99视频网 | 亚洲国产精品美女 | 欧美精品久久久 | 精品免费国产一区二区三区四区 |