<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何評(píng)價(jià)《Java 并發(fā)編程藝術(shù)》這本書?

          共 3621字,需瀏覽 8分鐘

           ·

          2021-08-15 14:41

          對(duì)于書評(píng)這件事情,我其實(shí)是不想寫的,因?yàn)槊總€(gè)人都有自己的一個(gè)衡量標(biāo)準(zhǔn),每個(gè)人眼中都有自己的哈姆雷特,是好是壞每個(gè)人都褒貶不一。如果對(duì)于書中的知識(shí)你都掌握了,你只是想把它作為一種知識(shí)串聯(lián)的記憶體的話,那么你可能感興趣的是整本書的知識(shí)框架和體系脈絡(luò),所以如果書中的知識(shí)具有連貫性,能夠在你腦海中編織出你想要的記憶藍(lán)圖,那么我相信它對(duì)你來說就沒那么好;如果你想把它作為打開新世界的大門,你想了解一下并發(fā)編程的奧妙,我相信它對(duì)你來說也是一本好書,能夠拓展你的知識(shí)深度;如果你是面向面試來看它,它也是一本好書,因?yàn)榻^大多數(shù)知識(shí)都是面試的??键c(diǎn)。

          下面我會(huì)來帶你過一遍這本書。

          前置知識(shí)

          首先先來混個(gè)臉熟,我相信大家都不陌生了,上書!??!

          首先,這本書是由三個(gè)人撰寫的,這三位都是阿里人,我用一幅圖來說明這三個(gè)人都寫了哪些內(nèi)容。

          如果是由三個(gè)人合力撰寫的一本書,如果不能做到對(duì)書整體脈絡(luò)有把控的話,就會(huì)陷入聾子聽啞巴說瞎子看見鬼了這種邏輯上不能自洽的局面,但是我能從書中看出來,出版社和方老師在對(duì)整體知識(shí)體系的脈絡(luò)上面做到了嚴(yán)格把控,但我認(rèn)為還是差點(diǎn)。

          謹(jǐn)言慎行,我會(huì)盡量做到以極其客觀的角度來解讀這本書。

          首先第一章并發(fā)編程的挑戰(zhàn)這個(gè)立意非常不錯(cuò),把整本書所講的主要內(nèi)容先引出來,使讀者大致了解一下并發(fā)編程都會(huì)帶來哪些問題,然后切入并發(fā)編程的痛點(diǎn),即并發(fā)編程的性能瓶頸。

          然后第二章直接深入 Java 并發(fā)機(jī)制的底層實(shí)現(xiàn),這一章的內(nèi)容和深度我認(rèn)為有待商榷,但是如果從精讀的角度來看,這并沒有什么不妥,同時(shí)也會(huì)對(duì)那些"有一定 Java 并發(fā)編程基礎(chǔ),想要更深層次了解 Java 并發(fā)底層實(shí)現(xiàn)"的同學(xué)來說,很容易眼前一亮。但是對(duì)那些"還沒接觸過并發(fā)編程,只想要了解一下 Java 并發(fā)"的同學(xué)來說,這第二章直接勸退了,說實(shí)話我在剛開始的時(shí)候接觸這本書,看到第二章我直接墊顯示器了。

          所以這就是一個(gè)選擇的問題,這個(gè)問題深層次的拷問就是:你到底想給什么樣的讀者呈現(xiàn)什么樣的內(nèi)容?

          然后我們假定第一種情況,即"有一定 Java 并發(fā)編程基礎(chǔ),想要更深層次了解 Java 并發(fā)底層實(shí)現(xiàn)"的這類同學(xué),這類同學(xué)看到這里我相信會(huì)直接喊出 yyds 這個(gè)詞,因?yàn)檫@一章真的非常驚艷,能夠?qū)懗鲞@樣的內(nèi)容得益于方老師百年如一日的堅(jiān)持和長(zhǎng)期在一線打拼的知識(shí)積累。第一章和第二章的銜接就像是你剛學(xué)會(huì)了 1 + 1 = 1,然后就讓你論證為什么 1 + 1 = 1 ?

          社死了有木有???????

          第二章直接帶我們上難度,從 volatile 講到 synchronized ,從對(duì)象頭講到鎖的升級(jí)降級(jí)(撤銷),從 CAS 講到 ABA,從原子操作講到內(nèi)存屏障,我直呼好家伙!非常驚艷。

          但是,第二章對(duì)于一些細(xì)節(jié)的打磨還是差了一些,比如說在鎖升級(jí)這塊的流程圖就畫的不是那么顯而易見,反正我是看了圖,然后結(jié)合了大量網(wǎng)上的參考才看的略知一二。還有就是方老師上來直接講應(yīng)用和底層原理,都沒有前戲的嗎???volatile 是什么,怎么我認(rèn)為也應(yīng)該從一個(gè)簡(jiǎn)單的小例子引出來吧。

          然后第三章,切換選手,上來直接全程硬菜,這一章從內(nèi)存模型入手,講了 volatile 、final、synchronized 的內(nèi)存語意,as-if-serial 和 happens-before 原則,Java 內(nèi)存模型是怎樣的以及 JSR-133 對(duì)內(nèi)存模型做了哪些改變,可以說能介紹的都介紹完了。

          但是,我又要說但是了,這一章有一些內(nèi)容應(yīng)該是從外文網(wǎng)站上翻譯出來的,很多地方有些生硬,感覺像是堆砌,不像是在講課。這種講解風(fēng)格我認(rèn)為不如方老師講的犀利,能夠直接切入重點(diǎn)。這一章我剛開始看的還行,但是到了這一章后半程,明顯感覺吃力,不知道是我菜還是怎么著,看著看著明顯犯困,不知道手機(jī)/電腦前的小伙伴們?cè)趺凑J(rèn)為的。

          擼完第三章,再看第四章,就感覺有點(diǎn)虐小號(hào)的意思,為什么 Java 并發(fā)編程基礎(chǔ)放在第四章講??????為什么基礎(chǔ)要放在底層實(shí)現(xiàn)的后面??????這不是本末倒置嗎?如果你是先看目錄直接從第四章看起來的倒還好,如果你從第一章慢慢慢慢看到第四章,你很可能會(huì)懷疑人生,這是什么破玩意?真的沒有搞明白為什么基礎(chǔ)要放在第四章才開始講。而且第四章這部分內(nèi)容很多都是一帶而過,讓我不得不懷疑這位選手應(yīng)該沒怎么寫過文章,我身邊這些公眾號(hào)主,但凡做的好的,有一些流量的原創(chuàng)號(hào)主,都不可能把文章寫成這樣,大量的代碼堆砌,講解一帶而過,這著實(shí)沒什么用,真的建議作者把《Java并發(fā)編程實(shí)戰(zhàn)》再好好讀一讀。

          看到第五章,我終于明白了沒有點(diǎn) Java 并發(fā)基礎(chǔ)的話,最好不要看這本書,因?yàn)楹苋菀最^大。

          第六章到第十一章其實(shí)講解的有些過于基礎(chǔ)了,如果說這本書是想要帶讀者深入理解并發(fā)的話,書中并沒有涉及很多源碼,但是對(duì)于那些"還沒接觸過并發(fā)編程,只想要了解一下 Java 并發(fā)"的同學(xué)來說,卻是一個(gè)了解 Java 并發(fā)一個(gè)比較好的工具書和參考書,對(duì)于那些希望面試背題的同學(xué)來說也是一樣的。

          面試的時(shí)候一般會(huì)分為個(gè)階段來問:

          • 你知道 xxx 嗎?你用過 xxx 嗎?(一問看你有沒有接觸過,一般沒接觸過就不會(huì)問這個(gè)方向了)
          • 你在日常開發(fā)的過程中是如何使用 xxx 的呢?(再次判斷你有沒有接觸過,如果你能回答上來應(yīng)用場(chǎng)景,才會(huì)繼續(xù)向下問,不然面試官就認(rèn)為你在扯皮)
          • 那你知道 xxx 的原理嗎?(問你原理就是判斷你私下來有沒有研究過這個(gè)東西,可以回答 xxx 的工作機(jī)制是怎樣的,比如線程池的原理,你就可以回答線程池的工作機(jī)制)
          • 最后還可能會(huì)問你更細(xì)一些的問題,比如 HashMap 的 put 過程是怎樣的?(這個(gè)就需要熟悉源碼了)

          所以,這本書給大家?guī)淼闹R(shí)點(diǎn)僅局限于前三點(diǎn),事實(shí)上,從整個(gè)行業(yè)上來說,我也沒有看到哪位作者把源碼擼出來寫成一本書的,所以這也是我們程序員們努力的方向。

          這里,給讀者朋友們推薦一下我寫的關(guān)于并發(fā)方面的文章:

          2w字 + 40張圖帶你參透并發(fā)編程!

          我工作三年了,該懂并發(fā)了(干貨)

          Atomic XXX 原理解析

          一文搞懂 CountDownLatch 用法和源碼!

          呵,Semaphore ,就這?

          我真不想學(xué) happens - before 了!

          cxuan 連這 10 個(gè)問題都不會(huì)...

          synchronized 的超多干貨!

          volatile

          肝完這篇線程池,我咳血了

          有解釋,有源碼,有案例,是不是要來學(xué)習(xí)一波?

          為什么說這本書好?

          所以,為什么說這本書好呢?

          因?yàn)檫@本書符合我們中國(guó)人的調(diào)性,畢竟是出自中國(guó)人之手,這本書不同于《Java 并發(fā)編程實(shí)戰(zhàn)》,Java 并發(fā)編程實(shí)戰(zhàn)更多注重的是"如何編寫一手優(yōu)秀的并發(fā)代碼",而 《Java 并發(fā)編程的藝術(shù)》更多的是圍繞 Java 底層知識(shí)來講解的,他們的側(cè)重點(diǎn)不同。并發(fā)編程實(shí)戰(zhàn)畢竟是外國(guó)人寫的,它經(jīng)過翻譯的過程會(huì)損失掉一些原書的魅力,所以大家盡量還是要看原版書,最好不要穿二手鞋。

          Java 并發(fā)編程的藝術(shù)還好在比較貼合現(xiàn)如今的面試氛圍,大家知道現(xiàn)在面試就是各種八股文一股腦直接沖,這種面試造火箭的面試方式我們大家都嗤之以鼻,但是又無力改變這種現(xiàn)狀,所以只能適應(yīng),而這本書就是一個(gè)讓你更好適應(yīng)八股文面試的一本書。我上面說,這本書有幾個(gè)章節(jié)講的還是比較不錯(cuò)的,這幾個(gè)章節(jié)搞懂了,基本上相關(guān)面試你十拿九穩(wěn)。但是后面有一些章節(jié)比較淺顯,需要貼合網(wǎng)上的博客再詳細(xì)了解。

          為什么說這本書不好?

          為什么說這本書不好?

          我不認(rèn)可這本書的敘述方式和體系結(jié)構(gòu),很容易把人給勸退。我認(rèn)為這是需要反思的一點(diǎn)。

          而且阿里的同學(xué)作為業(yè)界尤其是 Java 技術(shù)棧的頂級(jí)程序員,如果不能把自己的技術(shù)棧和知識(shí)體系的完備性作為最高標(biāo)準(zhǔn)要求自己,那么我們普通程序員還能夠相信誰呢?

          這本書讓我有一種能夠離開它但卻離不開它的一種感覺。我看《深入理解 Java 虛擬機(jī)》的時(shí)候,就沒有這種情愫。因?yàn)榭赐曛芾蠋煹纳钊肜斫?JVM 之后,我甚至覺得 《Java 虛擬機(jī)規(guī)范》你就完全可以扔在一邊了。

          但是,《Java 并發(fā)編程實(shí)戰(zhàn)》和 《Java 并發(fā)編程藝術(shù)》其實(shí)是一種互補(bǔ)品,缺少哪一本書的知識(shí),我都覺得少點(diǎn)東西。但是只看 Java 并發(fā)編程藝術(shù)這一本書又不夠,所以。。。。。。為什么不再認(rèn)真打磨一下呢?

          所以,希望還能有下一版的《Java 并發(fā)編程藝術(shù)》,讓我們大家一起期待。





           往期推薦 

          ??

          在騰訊工作是一種怎樣的體驗(yàn)?

          圖解 HTTP 連接管理

          我真不想學(xué) happens - before 了!

          42 張圖帶你擼完 MySQL  優(yōu)化

          這次,進(jìn)騰訊了

          宣布一件事情

          躺平,他不香嗎?



          瀏覽 61
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青青草免费在线视频观看免费 | 加勒比无码在线 | 麻豆国产传媒一区二区-最新 | 少妇AV电影了 | 黄色视频在线观看www |