成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

《Java程序員修煉之道》作者Ben Evans:保守的設(shè)計(jì)思想是Java的最大優(yōu)勢(shì)

cloud / 1409人閱讀

摘要:?jiǎn)枌?duì)于程序員修煉之道你有下一步的計(jì)劃嗎程序員修煉之道這個(gè)項(xiàng)目很好,寫(xiě)作的過(guò)程也很愉快。而最上層的程序員則是時(shí)刻對(duì)技藝以及技術(shù)的本質(zhì)著迷。這也是的一大優(yōu)勢(shì)。

  

非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/127453

Ben Evans是jClarity的聯(lián)合創(chuàng)始人。其公司致力于開(kāi)發(fā)可以為開(kāi)發(fā)和運(yùn)維團(tuán)隊(duì)提供幫助的性能工具和服務(wù)。他是LJC(倫敦Java用戶(hù)組)的組織者之一,也是JCP(Java社區(qū)過(guò)程)執(zhí)行委員會(huì)的成員之一,幫助定義Java生態(tài)系統(tǒng)中的一些標(biāo)準(zhǔn)。他還是“Java Champion”榮譽(yù)得主。他曾與人合著了《Java程序員修煉之道》(The Well-Grounded Java Developer)和《Java權(quán)威技術(shù)手冊(cè)(第6版)》(Java in a Nutshell)。他曾就Java平臺(tái)、性能、并發(fā)和相關(guān)主題發(fā)表過(guò)多次演講。

問(wèn):《Java權(quán)威技術(shù)手冊(cè)》(Java in a Nutshell)是一部經(jīng)典,它的上一版(第5版)長(zhǎng)達(dá)1200頁(yè),而在十年后即將在中國(guó)出版的第6版卻只有400頁(yè),這兩版之間到底有什么樣的變化?對(duì)于Java來(lái)說(shuō),這十年意味著什么?

  

第1版《Java權(quán)威技術(shù)手冊(cè)》是在Java剛剛變得流行之后很快出版的,那個(gè)時(shí)候人們對(duì)于Java充滿(mǎn)了想象。在接下來(lái)的五個(gè)版本里,這本書(shū)越變?cè)酱?,?nèi)容不斷延續(xù)。所以每一本的重點(diǎn)都有些著眼于歷史,因?yàn)閹讉€(gè)版本之間有著演進(jìn)的關(guān)系。這是由幾個(gè)因素造成的結(jié)果,有一部分原因純粹是因?yàn)檫@樣比較好寫(xiě),你只要知道這個(gè)版本和上一個(gè)版本相比增減了什么就可以了。但是更重要的是,在早些時(shí)候,在大部分企業(yè)中,Java的生命周期很長(zhǎng),所以你經(jīng)??梢钥吹胶芾习姹镜腏ava。所以理解不同版本之間的區(qū)別變得很重要。所以當(dāng)你在某家公司某個(gè)Java版本上工作時(shí),如果你知道版本是哪個(gè),你也就知道了能做什么不能做什么,以及這個(gè)版本與其他版本相比有什么樣的改變。

這就是當(dāng)我開(kāi)始寫(xiě)新一版時(shí),第一個(gè)想改變的事情。因?yàn)楝F(xiàn)在最新版的Java 8(說(shuō)到這里,容易讓人有些混淆,《Java權(quán)威技術(shù)手冊(cè)》的第6版講的是Java的第8版)的生命周期比以前短了很多。當(dāng)然,這要取決于具體領(lǐng)域,但是了解了普遍的使用情況后,你會(huì)發(fā)現(xiàn)使用老版本的(比如Java 6)只是極少數(shù)的人。當(dāng)然仍然有一些瘋狂的人仍然在使用6以前的版本,大部分的用戶(hù)使用的是版本7?,F(xiàn)在,版本8正在以很快的速度占領(lǐng)市場(chǎng),僅僅在半年時(shí)間,有15%到20%的用戶(hù)已經(jīng)在使用Java 8了。所以新版《Java權(quán)威技術(shù)手冊(cè)》的關(guān)注點(diǎn)比以往更加開(kāi)放,我們開(kāi)始關(guān)注Java以外的世界,也會(huì)討論現(xiàn)在和未來(lái)。

第二件重要的改變是長(zhǎng)度,正如你所說(shuō),第5版長(zhǎng)達(dá)1200頁(yè),而第六版只有它的三分之一,當(dāng)我開(kāi)始著手整理上一版的時(shí)候,我做的第一件事就是去掉了三分之二的內(nèi)容。如果你看過(guò)第五版,你就知道除了討論Java的主要內(nèi)容之外,這本書(shū)的第二部分是關(guān)于索引的。當(dāng)然這也是歷史原因造成的,當(dāng)Java剛出來(lái)的時(shí)候,網(wǎng)絡(luò)的使用還不是很普遍,所以書(shū)自帶一份索引是很合理的事。但是還有另外兩個(gè)原因,Java平臺(tái)變得越來(lái)越大,在《Java權(quán)威技術(shù)手冊(cè)》的第一章我討論了Java版本進(jìn)化,指出了Java平臺(tái)的增長(zhǎng)速度之快。要描述Java 5平臺(tái)的基本知識(shí)就用了800頁(yè),那還是Java 5的時(shí)候,如果用同樣的方法討論Java 8的話(huà),這本書(shū)就要頂?shù)教旎ò迳狭?。可?jiàn)這個(gè)方法不可行了,沒(méi)有人會(huì)愿意拿著這樣一本書(shū)。另外一個(gè)原因(也許這兩件事是相關(guān)的)就是人們利用技術(shù)信息的方式發(fā)生了改變,因特網(wǎng)如今無(wú)處不在,人們不愿意攜帶厚重的書(shū)籍,所有的索引都可以在網(wǎng)上的PDF、網(wǎng)站等資源中找到。所以這個(gè)時(shí)候還要在紙質(zhì)書(shū)的后面加上厚重的索引就很不合理了。這就是《Java權(quán)威技術(shù)手冊(cè)》兩個(gè)版本之間的重大改變。

我嘗試的第三件事是捕捉Java的變化趨勢(shì)和規(guī)律。所以很多關(guān)于過(guò)去如何使用Java的內(nèi)容都被去掉了,我加入了更多現(xiàn)代的使用方法,讀者們需要了解垃圾回收,內(nèi)存分配,并發(fā)編程,我在這些方面講了很多。這里面涉及了大量的工作,因?yàn)樵瓉?lái)的版本都著力于保存原有的內(nèi)容。在第五版留下的三分之一內(nèi)容中,大概只有25%-30%留到了第六版中,這些內(nèi)容也都重新編輯整理過(guò),而剩下的70%左右的內(nèi)容則是全新的。

因?yàn)?,我們想在Java 8投入使用的時(shí)候就把這本書(shū)弄出來(lái),所以Java 8還沒(méi)有出來(lái)的時(shí)候我們就動(dòng)筆了,到了后來(lái)還出現(xiàn)了一些一開(kāi)始沒(méi)有想到的工作(比如Java 8上隱藏的特性)。但是這次我們的經(jīng)驗(yàn)更豐富了,所以我們希望能在2016年4月,Java 9出來(lái)的時(shí)候完成下一個(gè)版本。事實(shí)上我已經(jīng)做好具體計(jì)劃了。

問(wèn):對(duì)于《Java程序員修煉之道》(The Well-Grounded Java Developer)你有下一步的計(jì)劃嗎?

  

《Java程序員修煉之道》這個(gè)項(xiàng)目很好,寫(xiě)作的過(guò)程也很愉快。但是在寫(xiě)作《Java權(quán)威技術(shù)手冊(cè)》的過(guò)程中我消耗了大量精力,我認(rèn)為我可能不會(huì)再寫(xiě)這本書(shū)的第2版了。我和這本書(shū)的原出版商Manning談過(guò)了,但是最新的進(jìn)展我并不了解,所以很有可能這本書(shū)不會(huì)再有第2版了。

問(wèn):一位Java大牛和一位普通Java程序員之間的區(qū)別是什么?

  

我認(rèn)為可以把程序員的層次看作一個(gè)金字塔,其中可以大致分成3個(gè)層次。在最底層的是很勤勞的程序員,但是他們可能對(duì)編程本身興趣不大,他們也能做好工作,但是他們下班之后就不會(huì)再想關(guān)于編程的事。這是很正常的現(xiàn)象,軟件業(yè)需要很多程序員,并且這個(gè)需求仍然在不斷增長(zhǎng)。中間層次上的程序員,想再多做一些,他們閱讀科技新聞和網(wǎng)站上的消息,他們會(huì)跟進(jìn)下一個(gè)版本的進(jìn)展,他們關(guān)心自己的技能,這個(gè)層次的程序員很有趣。而最上層的程序員則是時(shí)刻對(duì)技藝以及技術(shù)的本質(zhì)著迷。當(dāng)你到達(dá)了這個(gè)金字塔的最頂層時(shí),你就會(huì)開(kāi)始有反饋環(huán),你可以從自身學(xué)習(xí),對(duì)技藝的了解也更深刻。但是我認(rèn)為最難的部分就是如何從第二層突破到最頂層。如果你對(duì)你所做工作之外的知識(shí)有一丁點(diǎn)興趣,你就要尋找屬于自己的那個(gè)點(diǎn),這個(gè)點(diǎn)對(duì)于每個(gè)人都不一樣,一旦發(fā)現(xiàn)那個(gè)讓你著迷的領(lǐng)域,你就可以隨著好奇心的驅(qū)使深入學(xué)習(xí)下去。

關(guān)于開(kāi)源軟件有一個(gè)說(shuō)法,一個(gè)好的開(kāi)源開(kāi)發(fā)者必須找到自己的痛點(diǎn),他們不得不去解決這個(gè)困擾他們的問(wèn)題。這是大多數(shù)人對(duì)開(kāi)源軟件感興趣的原因,也是很多人稱(chēng)為Java開(kāi)發(fā)者的原因。你找到了一個(gè)讓你感興趣的點(diǎn),由于不明所以,你一直學(xué)習(xí)下去,這就是成長(zhǎng)的秘密。

問(wèn):雖然Lambda加入了Java 8,但是在開(kāi)發(fā)者之間始終有關(guān)于Java語(yǔ)法過(guò)于冗長(zhǎng)的抱怨。你認(rèn)為這是很多開(kāi)發(fā)者和團(tuán)隊(duì)不愿意使用Java的主要原因嗎?

  

我不這么認(rèn)為。James Gosling有三句話(huà)可以解釋Java的語(yǔ)言設(shè)計(jì),以及為什么Java是現(xiàn)在這個(gè)樣子。第一句就是英語(yǔ)中所說(shuō)的“藍(lán)領(lǐng)”語(yǔ)言,藍(lán)領(lǐng)工人是從事第一線(xiàn)工作的人,而白領(lǐng)則代表了辦公室以及經(jīng)理們的工作。Java就是一種藍(lán)領(lǐng)語(yǔ)言,它的設(shè)計(jì)是為了讓工作中的程序員解決真正的問(wèn)題。Java是實(shí)用的語(yǔ)言,它解決的是真實(shí)世界中的業(yè)務(wù)。

James Gosling在2014年JavaOne大會(huì)上談到了Lambda以及Java的早期版本中沒(méi)有出現(xiàn)的一些設(shè)計(jì),他說(shuō):如果我沒(méi)有找到完成一件事的正確方法,那我就什么都不做。這句話(huà)表達(dá)了一種緩慢而保守的演進(jìn)設(shè)計(jì)思想,要想理解Java是什么,就必須要明白這點(diǎn)。很多人覺(jué)得Java老了,編程語(yǔ)言需要改變,但是他們沒(méi)有搞清楚的是,真正變化的是他們自己。他們?cè)谀芰ι嫌辛税l(fā)展,他們想看得更遠(yuǎn)更深,而語(yǔ)言反映出了這一點(diǎn)。并不是語(yǔ)言需要改變,而是提出這個(gè)觀(guān)點(diǎn)的程序員自身發(fā)生了變化。Java從過(guò)去到未來(lái)都是一種設(shè)計(jì)保守的語(yǔ)言。這也是Java的一大優(yōu)勢(shì)。

當(dāng)James解釋他設(shè)計(jì)Java的初衷時(shí)說(shuō):當(dāng)我在設(shè)計(jì)的時(shí)候,我知道人們想要自動(dòng)內(nèi)存管理,人們想要強(qiáng)型式,但是這些功能會(huì)嚇跑藍(lán)領(lǐng)工人。比如說(shuō)Smalltalk,這是一門(mén)很優(yōu)秀的語(yǔ)言,但是它太先進(jìn)了,它和現(xiàn)實(shí)中開(kāi)發(fā)者們?cè)跇?gòu)建應(yīng)用時(shí)的思維脫離開(kāi)來(lái)。所以Java繼承了其中的一些理念,并將其簡(jiǎn)化,把這些理念放入一種語(yǔ)言和格式中。這些事解釋了這門(mén)語(yǔ)言設(shè)計(jì)的基本動(dòng)機(jī)。

所以你當(dāng)然可以說(shuō)Java是一種冗長(zhǎng)的語(yǔ)言,但我認(rèn)為額外的內(nèi)容是為了方便閱讀。特別是當(dāng)你還是一位初級(jí)或中級(jí)程序員的時(shí)候,那些看似多余的文字能夠幫助到你。人們永遠(yuǎn)都銘記我們對(duì)于生產(chǎn)力的需求越來(lái)越高,但是代碼仍然是寫(xiě)出來(lái)的。所以我不認(rèn)為Java冗長(zhǎng),雖然我們可以加入一些高級(jí)功能,但是有些事永遠(yuǎn)都無(wú)法在一個(gè)語(yǔ)言中改變,這很遺憾。當(dāng)然我們也會(huì)進(jìn)步,但是就像我總說(shuō)的一句話(huà),人們總是過(guò)于關(guān)心語(yǔ)法,而不是能用語(yǔ)言來(lái)實(shí)現(xiàn)什么。

問(wèn):現(xiàn)在不少的大企業(yè)(Paypal等)從Java切換到Node.js,Java在企業(yè)中的地位受到威脅,Java和Node.js各自擅長(zhǎng)的領(lǐng)域是什么?

  

這個(gè)問(wèn)題中有一個(gè)誤解,事實(shí)上并沒(méi)有出現(xiàn)大波公司棄用Java轉(zhuǎn)向Node.js的情況。Paypal中啟用Node.js的部分規(guī)模很小,Paypal的大部分運(yùn)行代碼仍然是Java。Node.js參與的只是一個(gè)試點(diǎn)項(xiàng)目,這是可以理解的,Node.js是一個(gè)有趣的環(huán)境,其中也有一些有趣的想法。Node.js十分年輕,同時(shí),它也有很多嚴(yán)重的問(wèn)題,所以現(xiàn)在預(yù)測(cè)Node的未來(lái)發(fā)展還為時(shí)尚早。所以雖然各種開(kāi)發(fā)者網(wǎng)站上有很多支持Node的聲音,GitHub上有很多有趣的項(xiàng)目(比如用它寫(xiě)Ardruino,玩硬件),但是在所有生產(chǎn)環(huán)境下的產(chǎn)品中,毫無(wú)疑問(wèn),Java擁有最多的代碼行。企業(yè)在沒(méi)有充分理由的情況下不會(huì)舍棄工作軟件,雖然有很多使用Node.js的創(chuàng)業(yè)者,但是創(chuàng)業(yè)者們來(lái)得快,走得也快。

作為近些年來(lái)有趣的產(chǎn)品之一Twitter,如果你觀(guān)察一下他們的發(fā)展你會(huì)發(fā)現(xiàn)他們最開(kāi)始用的是Ruby on Rails。三四年前,他們的網(wǎng)站開(kāi)始出現(xiàn)一個(gè)非??蓯?ài)的卡通形象,失敗鯨。這是一件很尷尬的事,為了弄明白到底發(fā)生了什么,他們做了很多調(diào)查,在查看了Ruby的垃圾收集之后,他們發(fā)現(xiàn)自己無(wú)能為力。同時(shí),他們的Java試點(diǎn)項(xiàng)目獲得了成功,他們意識(shí)到Java能解決他們的擴(kuò)展性問(wèn)題。然后在接下來(lái)的18個(gè)月,他們使用了一些JRuby作為中轉(zhuǎn)站,然后將整個(gè)系統(tǒng)改寫(xiě)成Java。最終的效果也很好,他們圍繞Java引入了新的服務(wù),新的架構(gòu)。曾幾何時(shí),Ruby被視為企業(yè)級(jí)軟件的未來(lái),但現(xiàn)如今,Ruby只是眾多編程語(yǔ)言中的一種?,F(xiàn)在應(yīng)用最廣的三種語(yǔ)言是Java,JavaScript,以及C/C++,但是大部分的JavaScript代碼都是在客戶(hù)端,如果把這三種語(yǔ)言去掉,其他語(yǔ)言的市場(chǎng)份額都非常小。

問(wèn):直到現(xiàn)在,Java應(yīng)用的虛擬托管模型需要分配給整個(gè)x86虛擬機(jī)用來(lái)托管一個(gè)多帶帶的JVM實(shí)例,相對(duì)來(lái)說(shuō)實(shí)例上也托管了多帶帶的Java應(yīng)用。這樣的方法效率很低,但是Java本地并不支持多租戶(hù)虛擬以及云計(jì)算配置。幸運(yùn)的是,在社區(qū)里可以找到一些為了解決云計(jì)算問(wèn)題而產(chǎn)生的多租戶(hù)Java解決方案,你認(rèn)為哪個(gè)方案足夠成熟可以應(yīng)用到生產(chǎn)環(huán)境?

  

這里面包含了兩件事,把虛擬和云以及多租戶(hù)混在一起并不完全正確。比如說(shuō)在QCon上海上有很多分享是關(guān)于docker的(docker是一個(gè)并不依賴(lài)于虛擬化的平臺(tái)),其中一個(gè)精彩的分享來(lái)自Chris Swan。他展示了將CPU內(nèi)存從虛擬環(huán)境轉(zhuǎn)移到以Docker為基礎(chǔ)的環(huán)境所帶來(lái)的好處,雖然仍不夠完善,但是它已經(jīng)為Java帶來(lái)了額外的優(yōu)勢(shì),只要在Docker上運(yùn)行Java你就能感受到。我們應(yīng)該把云和虛擬的關(guān)系梳理清楚。另外,有很多其他你可以做的事,比如你可以建立多個(gè)JVM主機(jī)。

但是這個(gè)問(wèn)題真正在問(wèn)的是多租戶(hù)。關(guān)于這個(gè)問(wèn)題,有一個(gè)產(chǎn)品在我心中是當(dāng)之無(wú)愧的冠軍,那就是Waratek。Waratek可以把一個(gè)多帶帶的非熱點(diǎn)JVM分開(kāi),并在其中運(yùn)行主機(jī)JVM,在JVM里運(yùn)行的是Java虛擬多租戶(hù)JVC,而JVC可以做到很輕量級(jí)。我認(rèn)為Waratek是一個(gè)很成熟、可以投入使用的產(chǎn)品,德意志銀行剛剛宣布把自己的第一個(gè)工作JVM挪到Waratek上,既然德意志銀行已經(jīng)認(rèn)可了這個(gè)產(chǎn)品,那么這個(gè)產(chǎn)品應(yīng)該也值得你花時(shí)間研究一下。

問(wèn):Java經(jīng)常被拿來(lái)和Scala做比較,這兩種語(yǔ)言的設(shè)計(jì)目的有什么不同?在未來(lái),這兩種語(yǔ)言是否可能發(fā)展方向完全一致?

  

Java和Scala是有著很大不同的語(yǔ)言。之前我們談到過(guò)Java的設(shè)計(jì)哲學(xué),現(xiàn)在我們可以來(lái)說(shuō)一說(shuō)Scala的設(shè)計(jì)思想,以及它們之間有什么不同。Scala最初是一門(mén)來(lái)自學(xué)術(shù)界的語(yǔ)言,最開(kāi)始Martin Odersky創(chuàng)造的語(yǔ)言叫做Pizza,那時(shí)候Java還是版本4,這個(gè)時(shí)候Pizza開(kāi)始逐漸加入了一些類(lèi)似于Java范型的功能,Java 5中也加入了一些Pizza的功能作為范型。

Martin是一個(gè)很聰明的人,Scala也有很多很棒的設(shè)計(jì)。但是同時(shí),這個(gè)語(yǔ)言也有自己的問(wèn)題。有時(shí)候它被稱(chēng)為“廚房水槽”語(yǔ)言,可見(jiàn)人們對(duì)這門(mén)語(yǔ)言又愛(ài)又恨。這個(gè)比喻的意思是:水槽里面裝了各種各樣數(shù)量過(guò)多的東西。這確實(shí)是Scala的一個(gè)問(wèn)題,它的功能太多了。有一條語(yǔ)言設(shè)計(jì)的準(zhǔn)則,同時(shí)也是Java設(shè)計(jì)過(guò)程中的一個(gè)重要原則——保守。具體說(shuō)來(lái),就是每當(dāng)你添加一個(gè)新特性的時(shí)候(《Java程序員修煉之道》14頁(yè)談到了了一個(gè)具體的例子),可能你也造成了新的問(wèn)題。如果你的語(yǔ)言有200種特性,而這個(gè)時(shí)候你想再加入一個(gè),我需要檢驗(yàn)它和所有其他特性的交互情況。對(duì)于Scala來(lái)說(shuō),它總是頻繁地加入新的特性。要想知道這些特性之間的交互情況是很困難的。就算Scala有一個(gè)很靈活,能夠擁抱改變的社區(qū),語(yǔ)言特性的變動(dòng)也是件不容易的事。所以你會(huì)發(fā)現(xiàn)雖然Scala擁有很多優(yōu)秀的工作性能,但是你需要決定哪些特性是你想要的,而哪些特性是你不能碰的。當(dāng)你在團(tuán)隊(duì)中編程的時(shí)候,這不是個(gè)問(wèn)題。真正的問(wèn)題在于,現(xiàn)代社會(huì)的軟件棧從來(lái)都不是僅僅依賴(lài)于代碼,問(wèn)題來(lái)自于函數(shù)庫(kù)。有一些Scala特性的動(dòng)作不僅影響目標(biāo)對(duì)象,還會(huì)影響其他一些東西。Scala的特性越多,這些問(wèn)題就更容易互相重疊。

另外,他們一直都糾結(jié)于二進(jìn)制兼容的問(wèn)題。Java、Sun以及Oracle一直都認(rèn)為這是對(duì)Java來(lái)說(shuō)最重要的設(shè)計(jì)理念,所以我可以用Java 1.0寫(xiě)程序,編譯一下,放到Java 8的虛擬機(jī)中,仍然可以運(yùn)行,而且運(yùn)行速度會(huì)比以前快很多倍。而Scala從未做出這方面的承諾,哪怕就是上一個(gè)版本也會(huì)出現(xiàn)問(wèn)題。在函數(shù)庫(kù)空間中,這個(gè)問(wèn)題就更嚴(yán)重了,我知道很多項(xiàng)目都放棄了Scala,就是因?yàn)槊看沃灰?jí)函數(shù)庫(kù),整個(gè)系統(tǒng)就會(huì)崩潰。

所以說(shuō),這兩種語(yǔ)言的設(shè)計(jì)思想很不相同。人們總是喜歡新鮮事物,第一個(gè)嘗鮮的人也會(huì)第一個(gè)享受到很多好處,但是在更多的情況下,人們更愿意做第二個(gè)嘗試的人。你可以觀(guān)察第一個(gè)人犯下的錯(cuò)誤,然后從中學(xué)習(xí)。而Java就是這樣一個(gè)從別人的錯(cuò)誤中學(xué)習(xí)的語(yǔ)言。我剛才提到過(guò)程序員的金字塔,我認(rèn)為Scala并不適用于底層,它的作用更多在于為最頂層的程序員們激發(fā)思考。而Java是一種適用于整個(gè)金字塔的語(yǔ)言,而且它對(duì)底層和中層的程序員尤其適用。我相信在未來(lái)的很多年內(nèi)都會(huì)有一個(gè)強(qiáng)大且健康的Scala社區(qū),我也希望能和他們一起交換思想。但是我并不認(rèn)為Scala會(huì)從一種小眾語(yǔ)言成長(zhǎng)成一種大眾語(yǔ)言?,F(xiàn)在地球上可能有上百個(gè)Scala程序員,但是這個(gè)數(shù)量頂多也就是Java程序員的百分之一,而這個(gè)比例很可能不會(huì)繼續(xù)增長(zhǎng)了。

更多精彩,加入圖靈訪(fǎng)談微信!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64203.html

相關(guān)文章

  • 關(guān)于MySQL知識(shí)點(diǎn)與面試常見(jiàn)問(wèn)題都在這里

    摘要:但是這將嚴(yán)重影響程序的性能。垂直分區(qū)的優(yōu)點(diǎn)在于可以使得行數(shù)據(jù)變小,在查詢(xún)時(shí)減少讀取的數(shù),減少次數(shù)。此外,垂直分區(qū)可以簡(jiǎn)化表的結(jié)構(gòu),易于維護(hù)。垂直分區(qū)的缺點(diǎn)在于主鍵會(huì)出現(xiàn)冗余,需要管理冗余列,并會(huì)引起操作,可以通過(guò)在應(yīng)用層進(jìn)行來(lái)解決。 Java面試通關(guān)手冊(cè)(Java學(xué)習(xí)指南,歡迎Star,會(huì)一直完善下去,歡迎建議和指導(dǎo)):https://github.com/Snailclimb/Jav...

    LeoHsiun 評(píng)論0 收藏0
  • 進(jìn)階Java架構(gòu)師必看15本書(shū)

    摘要:阿里巴巴的共享服務(wù)理念以及企業(yè)級(jí)互聯(lián)網(wǎng)架構(gòu)建設(shè)的思路,給這些企業(yè)帶來(lái)了不少新的思路,這也是我最終決定寫(xiě)這本書(shū)的最主要原因。盡在雙阿里巴巴技術(shù)演進(jìn)與超越是迄今唯一由阿里巴巴集團(tuán)官方出品全面闡述雙八年以來(lái)在技術(shù)和商業(yè)上演進(jìn)和創(chuàng)新歷程的書(shū)籍。 showImg(https://segmentfault.com/img/remote/1460000015386860); 1、大型網(wǎng)站技術(shù)架構(gòu):核...

    Julylovin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<