读《Java解惑》

读《Java解惑》

 

英文书名是: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》和《模式识别》~~~~呵呵,怕被问死~~但是现在想想,真的得把这些基础的书籍当做字典一样的翻,翻烂为止。以前看技术书也像读小说一样,发现这是不行的。技术类的书籍有技术书的阅读方法,看完以后没印象的,或者压根没懂的,还是别看了吧,整点入门的书籍更实惠~~呵呵。

这本书还是从图书馆借的,有可能是我大学阶段看的最后一本书了。继续写论文迎接即将到来的答辩。

嗯,越写越乱,看来是不在状态~~


你可能感兴趣的:(读《Java解惑》)