英文書名是:Java Puzzlers Traps, Pitfalls, and Corner Cases。
從名字就可以看出,又一本Java語言細節注意手冊~~~~
還是Joshua Bloch大牛的作品,全書基本就是在解釋Java Language Specification(JLS)的各種需要重點注意的細節,就像作者說的,一些traps 和pitfalls。發現有好多東西確實不是說看過以后就能記住的,很多的東西都需要你實現、實驗過后,才可以站出來拿出來說。像第2章講到的表達式之謎,一個例子,什么情況下可以是x+=i;合法而x=x+i;不合法呢?初看這個題目,我自己也實在想不通作者究竟想考讀者什么?哪些細節呢?答案其實很簡單——復合賦值表達式自動轉型問題。復合賦值會自動轉型為左側變量的類型,那么如果左側的類型比右側的小就可以了。復合賦值自動截斷右側的高位,而普通的表達式則會編譯錯~~~
95個謎題整的人頭暈眼花,我承認看了這本書很受打擊,因為發現Java中的細節是如此之多,搞的都有點不知所措了。不過后來仔細一想,這些細枝末節知道當然最好,不知道的話,只要養成良好的編程習慣,很多的陷阱是可以避免的。
看了這本書后有一個想法,那就是JLS,EJ,JP這幾本書一定都得有,就放在案前做參考。因為他們真的是太基礎,太重要了。可惜當初覺得JLS太枯燥,讀了一半就放棄了。記得之前淘寶面試的時候,國藩問我最近哪些書讀過兩遍?面對這個問題,我真不敢說我最近看兩遍的書是《深入淺出JVM》和《模式識別》~~~~呵呵,怕被問死~~但是現在想想,真的得把這些基礎的書籍當做字典一樣的翻,翻爛為止。以前看技術書也像讀小說一樣,發現這是不行的。技術類的書籍有技術書的閱讀方法,看完以后沒印象的,或者壓根沒懂的,還是別看了吧,整點入門的書籍更實惠~~呵呵。
這本書還是從圖書館借的,有可能是我大學階段看的最后一本書了。繼續寫論文迎接即將到來的答辯。
嗯,越寫越亂,看來是不在狀態~~