我在“美菜”讀的書

2J發表於2019-07-05

引子   

     今天,翻完《分散式系統原理介紹.ppt》了最後一頁,感覺有點失落:又一本好書看完了(不知,大夥兒是否也是這樣的)。惆悵中,才發現,自去年10月,進入美菜後,7個月的時間,已經看完了6-7本書了,這個戰績絕對是之前無法想像的,但是它就是發生了。

   說起,看書這事兒吧,也前吧,也不愛,覺得程式設計師,就應該看程式碼,擼程式碼,還是受到前任領導(我們都叫他:惠豐)與 前任同事(我們都叫他:大師)的影響。

  與前任領導,一起工作了8-9年,見證了他,因為讀書而優秀,因為優秀而讀書。

  大師,有錢而優秀的大師,經常看書,看到11,12點,因為他說,如果不做這行,只能回家管生意。原來,工作可以不僅僅是為了生活。 

        在讀書過程中,也遇到一個現同事,我們叫他猴哥,第一次,看到他ipad上的幾百頁的讀書筆記,邏輯清晰,字跡漂亮,原來ipad,可以這麼用。

       當然,還有一個重要原因:媳婦兒,也開始天天看書,我自然也不能落後了。

        以下,給大夥兒,分享下,我們的讀書清單,也希望大夥兒,給推薦一些書籍。                       

Java程式設計思想

                                                                           

  這應該是相當經典的一本書了,據說做為java程式設計師,都應該看好幾遍,在大學就蠢蠢欲動,當時,睡我對面的軍軍同學(這也是唯一,現在還能,一起吃飯聊天的大學朋友了),也買了一本;最終,自己也沒去看,也許是因為,時候未到吧(哈哈)。

       在上一份工作的,最後兩月裡,終於,從同事的顯示器下(經典,居然用來墊顯示器),拿起了這本書,這是一本,你拿起來,就很難放下的書,因為太厚,兩個“厚”,800多頁,肯定厚,另一個,就是內容非常豐富,每點節都講得非常詳細。比如,

內部類一章,比如 Class 類一節。

       印象最深的,也是關於 講 Class 類 的一節,以前,覺得 <> 就是表示list,因為只會寫  List<String> list = new ArrayList<>(), 理解 Class 類,才能繼續理解 泛型,以及 .class檔案,與 Class的關係。

        最終,在6月25號,算是看了第一遍,從哈米到美菜,歷時差不多9個月,收貨良多。

 

深入理解Java虛擬機器:JVM高階特性與最佳實踐

                                                                                    

   進入美菜後,總會遇到一些,線上問題,關於Cpu,記憶體之類,總是感覺無從下手,一次與小王子(一活潑同事,熟稱小王子)聊天時,他推薦了這本書。這是一本,你拿起來,就不會放下的書,原理清晰,理論結合實踐。

        對於各種垃圾回收器工作流程介紹,由淺入深,讓人記憶深刻。

   Class檔案結構介紹,雖然無法逃脫枯燥,但是這也是各類位元組碼操作的基礎,值得枯燥。

   對於鎖的底層實現,有相當細緻的講解,對後面,學習併發程式設計中,鎖的概念,與實現,就會輕鬆不少。

   因為是看的電子書,非常方便隨地閱讀,其中不少章節,來回看了好多遍,任感覺意猶未盡。值得,多讀幾遍。

   雖然截圖是,15小時,閱讀完成,加上一些程式碼實操,時間也不少。於,4月10號首次閱讀完成。

 

Java併發程式設計的藝術

                                                                                        

  

   併發,是一個java程式設計師,繞不開的話題,本來想看《併發程式設計實戰》,苦於沒有電子書,什麼百度讀書,豆瓣讀書,多看閱讀,都找了,就是沒有,看pdf檔案吧,又感覺沒有哪個app,在手機上有好的體驗。最後就退而求其次了,選擇了這本。

         以前,總是對volatile,不是特別理解,為什麼叫輕量鎖;Synchronized實現原理說不明白,Lock為什麼能在有競爭時,效能優於Synchronized;Lock與AQS是什麼關係。。。

         帶著這些疑問,翻開這本書,顯示,翻了幾遍後,這些問題,你會從根上理解他,真正的理解,那種不會忘記的理解。

         對於,volatile 的理解,與應用場景算,是印象比較深的幾個點之一了,從位元組碼指令,中可以很明顯看到,為什麼volatile修飾的變數,不能用於,做++ 操作。因為,它的可見性,你會取到正確的值,但是變數放到棧中後,其他執行緒修改了此變數,

         棧中的值,可能就是最新值了,所以++,操作會有問題。也就說明,它的應該場景,應該侷限在,不依賴原始值的情況。

         看完本書,專案有設計併發,多執行緒,Lock等問題時,就踏實多了,4月26號第一次讀完成,敲了書中不少demo,受益不少。

 

MySQL技術內幕:InnoDB儲存引擎       

                                                                                    

        讀完前一本書後,開始焦慮,接下來讀什麼書了,感覺像上癮了一樣,哈哈,       

        正巧,團隊中來了一個以前阿里的,我們叫他燊哥(【shēn】,很複雜的一個字),混熟了之後,推薦了幾本,這就是其中一本,正感覺缺mysql知識,就果斷讀了這本,也剛好,微信讀書裡,有這個電子書。 

        本書第二章節講了,一些體系架構,相關執行緒,檔案結構之類的,相當枯燥,閱讀進度非常緩慢,用了很長時間,磨到第三章中,實在看不動了,一度想放棄了;最後,果斷的,從第一頁,重新開始閱讀,

   第二遍,明顯輕鬆了許多,一些原來跳過的,重新回味,感覺別有一翻滋味了。

   這本書,最大的收穫,應該算時,關於索引原理,以及其內部結構,一張表是如何用B+樹組織起來,輔助索引,與主鍵索引如何關連的。

  也對索引優化,有了感性的認識,也恰好,最近手頭的專案的資料,都是千萬級的資料查詢問題(可能對各位看官來說,都是小數目,對我,確實是挺大的資料了),這些準備如及時雨一般,

        感覺,生活就是麼這多巧合組成了。於6月3號看完第一遍,雖然此時,燊哥已經不在美菜,在此,謝過!

 

TCP/IP入門經典    

                                                                                    

        在閱讀過程中,現任領導,我們都叫他雷老大,推薦一個書單,感覺如獲至寶,因為,未來好長一段時間,都有書可讀了。但是,細看,那些書,比如 netty,分散式等都與tcp/ip相關,再想想,大學那會學的網路知識,早已經不知去向了。

   本來書單裡,有一本是關於這方便的,它叫:TCP/IP詳解。一來,此書,沒有找到電子書;二來,這書太厚了,我感覺,我也用不到書那麼多內容;於是,選擇了一本,輕鬆,簡單的。旨在瞭解,基本知識。

        書中重點看了,tcp/ip協議系統,對於基本體系有了感性的認識,特別是TCP建立連結的3次握手,從資料包內容層面,簡單瞭解了,總算明白了 ACK 與ack ,SYN 與syn的含義,以看其他文章,總是不明白。

  另外,也瞭解了,之前一個演算法題目:找出一個二進位制裡1的個數(使用  n & (&-1) 可以讓時間複雜度 小於 O(n) ),應用場景:奇偶校驗。

        這書,後面幾10幾章,就沒有什麼用處了,看了前幾章,雖是入門級的,對我來說夠用了,能方便理解一些網路模型就行了。這書,就不推薦了。

 

分散式系統原理介紹.ppt 

                                                                                   

        這書為什麼沒有圖片,因為這隻一個ppt,所有沒有封面,但是它,不僅僅是一個ppt。這也是雷老大,推薦書單裡的一本,在此,再一次感謝雷老大,他現在應該正在家裡抱著剛出生二胎,估計忙得不亦樂乎吧。

        這個70頁的ppt,講述了分散式基本原理,讓我們這些小白,能順利理解,書中,內容不少,但是泛而不糙,原理分析明的,粗中帶著細膩。

   看完本書,會對 TCC, 2PC 等概念,有一些非具象的認識。

  會對 X/Open DTP , XA 協議 等一些分散式基礎知識,有簡單的認識。

        你會發現, 0/1 direcory的實現 與 垃圾回收中 複製演算法 真是異曲同工。

   對於 分散式中 常用用機制 如  quorum, Lease 等。有基本認識,以後你會在很多地方看到他們的影子。

   看書本ppt,你就可以開始分散式更多深入的學習了。

        因為,這是一個ppt,手機上不方便,都在電腦上閱讀,花了大概2周時間,與7月4號閱讀完成。這是一本好書,值得閱讀。

   

中文小說

  在看技術書籍時,也偶爾想換換風格,中間也看了些小說。

  流浪地球,電影熱播時,聽說,小說,很多短,果斷看了一遍,感覺小說有感覺,比電影感覺還好,特別是反動武裝,“打贏”之時,"氦閃"來臨的一剎那... 

       倚天屠龍記,新版出來時,好多吐槽,為了吐槽,有水平,又看了大部分小說,看小說,畫面感十足,並且金老,手法奇特,真有點停不下來。最後,感覺時間用得有點多,才理智的停下了

英文小說

  看到英文兩個字,大夥,有沒有詫異,其實都是一些初級的小說,想著,小孩子快3歲了,要開始接觸英文了,自己也就開始準備了。

  特意買了金山詞霸的會員,因為生詞本可以自動生成,太方便了。

  比如:Robinson Crusose, Sherlock Holmes Short Stories, Sherlock Holmes the Dukes Son,Skyjack, Formula One,,  

       當然,這些其實算不上小說,1w左右個單詞,很快,可以讀完一個,很有成就感,教娃也夠了。

 

在讀

  在讀書過過程中,得到雷老大的支援,除了推薦書單,也給予了他能給的一些東西(哈哈),感覺得到了認可,還得謝謝一次。

  目前正在《netty權威指南》,《從Paxos到zookeeper:分散式一致性原理與實踐》

結語

  以上就是最近一段時間的,讀書分享,也許分享的內容也有不對的地方,期待討論哈。

  不知道會有人疑問:時間哪裡來的嗎?其實大部是是在地鐵上,公交中,以及每天早2小時到公司,晚2小時下班;都不知道,以前不讀書的時間,都哪裡去了。

  當然,也因為一個人北京,無以解憂,唯有讀書。希望將來回來杭州,也能堅持讀書。

 

   成為一名優秀的程式設計師!

 

相關文章