隨著Docker技術(shù)的快速發(fā)展,其在Java開(kāi)發(fā)領(lǐng)域的應(yīng)用也越來(lái)越廣泛,很多Java開(kāi)發(fā)人員已經(jīng)開(kāi)始使用這樣一個(gè)應(yīng)用容量引擎。作為一種開(kāi)源的應(yīng)用,Docker強(qiáng)大的而功能和兼容性讓其受到廣大開(kāi)發(fā)人員的喜愛(ài)。那么Docker能夠?qū)ava開(kāi)發(fā)帶來(lái)什么價(jià)值呢?中培《企業(yè)級(jí)Java開(kāi)發(fā)最佳實(shí)踐》培訓(xùn)專(zhuān)家劉老師在這里進(jìn)行了介紹。
劉老師指出,對(duì)于Java開(kāi)發(fā)者來(lái)說(shuō),Docker能夠幫助他們將JVM打包到一個(gè)鏡像中,而且這個(gè)鏡像是可以用來(lái)開(kāi)發(fā)的。Docker的一些功能讓Java開(kāi)發(fā)者更容易構(gòu)建上下文環(huán)境,而且重要的是,這種環(huán)境是可擴(kuò)展的。
以上的這些價(jià)值也是Docker獲得廣大Java開(kāi)發(fā)者青睞的重要原因。當(dāng)然,Docker也并非完美無(wú)缺,它對(duì)Java開(kāi)發(fā)帶來(lái)的隱患也是廣大開(kāi)發(fā)者應(yīng)該注意的。這個(gè)隱患就是Docker的應(yīng)用將帶來(lái)很多額外的工作,讓Java開(kāi)發(fā)者需要通過(guò)各種方式和代碼對(duì)其進(jìn)行調(diào)整、監(jiān)控和不斷優(yōu)化。
比如在Java開(kāi)發(fā)中,如果用jconsole,實(shí)際上它能夠比較直接地實(shí)現(xiàn)連接和整合,而Docker就需要做額外的工作來(lái)開(kāi)啟所需要的端口,比如Java開(kāi)發(fā)者不得不另外開(kāi)啟一個(gè)專(zhuān)門(mén)的后臺(tái)去實(shí)現(xiàn)這一目標(biāo)。
劉老師前面提到過(guò)對(duì)Docker的調(diào)優(yōu),這個(gè)額外的工作實(shí)際上是不容易實(shí)現(xiàn)的。因?yàn)镈ocker的調(diào)優(yōu)比較困難。比如在容器使用過(guò)程中,開(kāi)發(fā)者難以知道內(nèi)存會(huì)如何分配。在這種情況下,Docker的調(diào)優(yōu)會(huì)顯得尤其困難。
不過(guò)劉老師也指出,任何一種新興事物的誕生都會(huì)有一個(gè)漸進(jìn)發(fā)展的過(guò)程。隨著Docker的不斷發(fā)展,其在基于Java開(kāi)發(fā)方面的應(yīng)用將變得越來(lái)越簡(jiǎn)便。
想了解更多IT資訊,請(qǐng)?jiān)L問(wèn)中培偉業(yè)官網(wǎng):中培偉業(yè)