溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

學(xué)點(diǎn)Java里的編程思想(r12筆記第65天)

發(fā)布時(shí)間:2020-08-06 21:04:12 來(lái)源:ITPUB博客 閱讀:255 作者:jeanron100 欄目:編程語(yǔ)言

   按照自己之前的計(jì)劃,我覺(jué)得得看看關(guān)于開(kāi)發(fā)的東西了,因?yàn)槲覍?duì)于并發(fā),鎖的認(rèn)知總是有一個(gè)局限性,自己也在地鐵上做了些功課。有了這個(gè)想法,再有拿起書的勇氣,那就是一個(gè)開(kāi)始了。

   每個(gè)圈子都有自己喜愛(ài)的圖書,就如同Oracle圈子對(duì)于Tom的《Oracle編程藝術(shù)》,MySQL圈子對(duì)于《高性能MySQL》,Java圈子也有自己的,在我的印象中,應(yīng)該就是《Java編程思想》了。

   程序員其實(shí)還是容易偏執(zhí),在我們的生活中這種例子屢見(jiàn)不鮮,比如php是世界上最好的語(yǔ)言,幾方竟然能大很長(zhǎng)時(shí)間的口水戰(zhàn)。程序員也有數(shù)據(jù)庫(kù)行業(yè)類似DB-Engines的排行榜,是開(kāi)發(fā)語(yǔ)言排行榜,Java語(yǔ)言如同數(shù)據(jù)庫(kù)界Oracle的地位,也常年占據(jù)榜首位置,相對(duì)而言,語(yǔ)言之前的競(jìng)爭(zhēng)更加激烈和白熱化,優(yōu)勢(shì)和差距都不是很大。

Java程序員的圣經(jīng)

     我的家里有個(gè)書架,已經(jīng)很久沒(méi)怎么讀過(guò)書了,已經(jīng)快擺滿了雜物。書桌上有一本2007年的第四版的《Java編程思想》,書齡到現(xiàn)在已經(jīng)10年了,但是看著里面的技術(shù)點(diǎn)滴,還是很有意思的,但是也存在太多的遺憾。

   每每到這個(gè)時(shí)候,我才會(huì)發(fā)現(xiàn)很多東西似曾相識(shí),但是自己卻沒(méi)有記下筆記,沒(méi)有了筆記,也就沒(méi)有了當(dāng)時(shí)學(xué)習(xí)的軌跡,也就意味著很多內(nèi)容我需要重新再看一遍,再感悟一遍。所以我越發(fā)覺(jué)得學(xué)習(xí)筆記是個(gè)好東西,得堅(jiān)持。

    我總是能夠從書里找到一些共鳴的地方,比如Bruce這樣說(shuō)道:Java的設(shè)計(jì)者曾經(jīng)說(shuō)過(guò),設(shè)計(jì)這門語(yǔ)言的靈感來(lái)自c++.盡管如此,學(xué)習(xí)Java,基本上不用參考c++,我也是這樣做的。

    對(duì)于一些技術(shù)的學(xué)習(xí),比如泛型,就很有必要和c++進(jìn)行比較。了解c++模板的某些方面,有助于理解泛型的基礎(chǔ),這就如同學(xué)習(xí)MySQL的的鎖機(jī)制和Oracle的聯(lián)系起來(lái),雖然不同,但是可以加深理解。同時(shí),重要的一點(diǎn)是,你可以了解很多技術(shù)的局限是什么,以及為什么會(huì)有這些限制,最終的目的就是幫你理解,只有了解了邊界,才能成為程序高手。只有知道了某個(gè)技術(shù)不能做到什么,才能更好的做到所能做的。這一點(diǎn)上來(lái)說(shuō),也是工程師的幾個(gè)階段:從思考能做什么到思考不能做什么。

    《Java編程思想》我目前喜歡的是第21章并發(fā)和第18章 I/O系統(tǒng),因?yàn)檫@些方面和數(shù)據(jù)庫(kù)的關(guān)聯(lián)更大一些,也是我學(xué)習(xí)的一個(gè)突破口,而對(duì)于數(shù)據(jù)庫(kù)中,高并發(fā)設(shè)計(jì)一直以來(lái)也是我們所關(guān)注的,而有時(shí)候難免會(huì)有瓶頸的認(rèn)知存在。最近做了些功課,發(fā)現(xiàn)困擾自己,覺(jué)得不錯(cuò)的網(wǎng)絡(luò)資料,里面的很多觀點(diǎn)在書里都有系統(tǒng)的講解,所以就是這本書了。而I/O系統(tǒng)方面,對(duì)于緩沖器的實(shí)現(xiàn)和持久化我更感興趣,這些希望能夠從再次的苦旅中找到一些共鳴和借鑒的地方。所以我的一個(gè)基本觀點(diǎn)是從開(kāi)發(fā)的角度來(lái)理解一些問(wèn)題的原理,會(huì)更加水到渠成。

幾種技術(shù)的比較


  我在畢業(yè)的時(shí)候,做開(kāi)發(fā)類工作,最開(kāi)始接觸的就是Java Swing相關(guān)的技術(shù),當(dāng)時(shí)使用的還是Spring Rich Client的框架,接觸了各種項(xiàng)目之后,發(fā)現(xiàn)框架真是層出不窮,沒(méi)過(guò)多久就能聽(tīng)到一些新鮮的技術(shù)框架等等,而同時(shí)工作中大家對(duì)編程技巧尤其注意,總是會(huì)盡可能的用到設(shè)計(jì)模式方面的東西,而一個(gè)產(chǎn)品中總是會(huì)有若干的模塊,也參與了不少模塊的開(kāi)發(fā)測(cè)試工作,到了亞信的時(shí)候,全部的模塊都得熟悉,印象最深的一次,我連操作都沒(méi)弄熟,下午就要給客戶驗(yàn)收測(cè)試,當(dāng)時(shí)自己學(xué)習(xí)的壓力可想而知。而到了后來(lái)的工作中,我發(fā)現(xiàn)架構(gòu)真是一門很精深的藝術(shù),里面總是會(huì)有很多設(shè)計(jì)的原則和理念,這一點(diǎn)上不得不佩服很多老外的技術(shù)沉淀,從這個(gè)層面,我能夠加深很多地方的理解,會(huì)把一個(gè)事情從一個(gè)更加全面的角度來(lái)考慮,得到一些更為細(xì)致的影響范圍和風(fēng)險(xiǎn)評(píng)估。

   這樣一個(gè)基本的感受,對(duì)于我來(lái)說(shuō),還是存在著一些困惑,這些到底有什么樣的關(guān)系。有時(shí)候自己都理不清楚,直到一次看架構(gòu)類的書籍,看到了下面的對(duì)應(yīng)關(guān)系,才豁然開(kāi)朗。

學(xué)點(diǎn)Java里的編程思想(r12筆記第65天)

這也是我上面描述的幾種技術(shù)場(chǎng)景的一個(gè)關(guān)系圖,這樣一來(lái),你在學(xué)習(xí)的時(shí)候也會(huì)有的放矢,而不是蒙著頭逮什么學(xué)什么。

學(xué)點(diǎn)Java里的編程思想(r12筆記第65天)







向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI