作者:13
GitHub:https://github.com/ZHENFENG13
版權聲明:本文為原創文章,未經允許不得轉載。
前言
不要被標題嚇到,雖然書籍是《實戰java高並發程序設計》,不過本文只是寫一寫本人的一點讀書感受,順便整理了一下書中的代碼,其實我原本是不想敲代碼的,不過去網絡上搜了一圈之后,發現根本沒有現成的,只能自己敲了,既然整理好了一部分代碼,索性就上傳到GitHub上,讓大家都看一看,節省一下其他人的時間,GitHub地址在這里,無法訪問的話,也可以到碼雲的倉庫中看,地址是點這里,給項目個star吧。
書籍簡介
當時在京東選書的時候就是被這本書的封面給吸引了,莫名的挺喜歡這本書,剛好那段時間也想補充一下這方面的知識點,看了一下書籍簡介就下單購買了。
2017年4月10號開始讀,到30號讀完,中間的二十天基本都是抽出中午的一小段時間看書,每天雖然看的不多,但是加在一起就不一樣了,事情總會做完的,讓我想起高中時物理老師的一句話:
“小步走,不停步,等於前進一大步”
雖然分開來看量很小,但是慢慢積累下來,概念就不同了。
整本書看下來感覺還不錯,案例的數量很大、質量也很高,動手實踐一下得到了不小的收獲,也達到了買書前的預期,理論知識不是特別的晦澀難懂、代碼也很清晰,對這本書的好評是遠遠多於差評的,知識點豐富、學到了想要學的知識點。
讀書筆記
書中就是知識點的介紹,還有一些代碼案例,作者講解的也挺詳細的,這篇文章里就不會講了,都是些概念性的知識。
書是好書,案例也是好案例,個人看來,這本書也是有缺點,當然,這個只是個人看法,對這本書最大的槽點應該就是插圖了:
書中的插圖基本都是這個風格,而且由於印刷原因有些插圖有些不清楚,因此最大的槽點是這個。
- 第一次啃書的過程中,並沒有特別跟着作者的思路去敲代碼案例,只是用筆在書本里做了一些注釋,因為我覺得網上應該會有相關的源碼資源,結果是我找了挺久沒找到,因此就自己動手寫了一遍,我覺得應該也有人和我一樣懶得去敲一遍代碼,所以就打算公布在網上了。
- 代碼里都是兩個線程,下載了源碼后,可以自行在編輯器里模擬多個線程的運行情況。
- 對線程和高並發的認識有所加深,這次寫文章、整理源碼的過程中又讀了一遍全書,感覺收獲頗豐,印象更加深刻了,可能過一段時間又忘了,誰知道呢。
看第一遍的時候,其實有過思想准備,也對自己說過,如果書本中理論感太強,就慢慢看,一天翻個幾頁,如果代碼案例多的話,就多敲敲代碼。看了之后發現,有些章節確實比較偏理論,不過耐下心來也是能看得下去,每天中抽些時間翻個幾頁,慢慢的也就看完了,至於敲代碼這件事就沒去做,因為我覺得網上應該會有相關的資源的,哪知道,一條都沒。
印象比較深的幾個知識點是指令重排、比較交換CAS、ThreadLocal、讀寫鎖優化,在這里提一下,詳細的我就不寫了,想了解的朋友自行搜索,這些知識點書里都做了詳細的介紹,會讓你收獲滿滿的。
讀書心得
不知道大家有沒有這種感覺,對多線程、鎖這種知識點“又愛又恨”,感覺很近又感覺很遠,想去認真探索一個究竟,但是終究沒能邁出第一步,或者邁出第一步也不想繼續前進了,覺得這些知識點特別難搞。
對線程這一塊兒的知識比較模糊,初學Java的時候,也沒有特別着重的去看,覺得有些晦澀難懂,后來工作了,也沒有接觸過類似的編碼要求,因此造成了一個思維怪圈,對之莫名的好奇,又無法完全說服自己去認真的學習它並對之有一個透徹的理解,平時工作中確實用的不多,而且試着學過,又覺得過程比較枯燥,但是也的的確確知道這個知識點的重要性,也知道一些框架或者工具底層肯定是用到了這些知識點的,只不過是自己沒有動手寫過相關代碼罷了。
其實看這本書,也是因為獵奇心理吧,不想總是對一個知識點有小小的恐懼,我感覺我還是掌握它比較好,如果是一年前,這本書我可能也看不下去,因為那個時候的我還沒養成看書的習慣,一開始學知識都是去百度搜,去看博客等,而且很少主動的學習,更別提去看書了,慢慢的就發現這種碎片式的知識學習方式並沒有徹底解決技能掌握度低的問題,而且知識點太碎了,無法連貫起來形成自己的知識系統,技能棧不全面,所以從去年開始,開始主動買技術書籍以及技能相關的書籍來看,也慢慢的由一點也看不下去,到強迫自己看一點,再到每天能看幾頁,最后能堅持看完一本,接着是第二本、第三本....
因為想看書了,而且也慢慢的養成了看書的習慣了,因此啃完這本書也就很輕松了,后來因為整理書中的源碼又看了一遍,就算是加深印象了吧。
結語
這篇文章主要是講一下自己的體會,其實都是一些牢騷話,關鍵的是書中的源碼,因為網上確實沒有這本書的相關文檔,因此就自己整理了一下,如果有同樣在看這本書的朋友,不太想自己一點點敲書上的代碼的話,可以直接到我的github倉庫中去下載代碼。
其實我就是不想敲代碼,哈哈哈哈,去網絡上搜了一圈之后,發現根本沒有現成的,只能自己敲了,既然整理好了一部分代碼,索性就上傳到GitHub上,讓大家都看一看,節省一下其他人的時間,GitHub地址在這里,無法訪問的話,也可以到碼雲的倉庫中看,地址是點這里,給項目個star吧。
推薦一下自己的達人課,感興趣的朋友可以看一下:SSM搭建精美實用的管理系統