又一次,或者准确地说,第三次读完了《Java编程思想》,合上书,我陷入沉思之中,这本书为什么值得我一而再,再而三地去读它呢?而且,似乎每遍重读,似乎总有些新的收获。我尽我所能来阐述其原因,希望在本文结束之时,我们共同拥有一个满意的答案。
为什么此书值得读?
为什么是这本书,而不是其他书呢?先卖个关子,中学的时候有一个奇怪的现象,有的老师,再听他讲课的时候,没觉得难,但是,听完之后,却发现已经把一个很难的问题在不知不觉之中搞明白了。现在想想,这其实就是大师的能力,他可以化繁为简,把复杂的问题用简单的语言解释清楚。而此书的作者Bruce Eckel就是当之无愧的大师,他拥有丰富的Java教学经验,又对Java有独到的见解,而且对Java的很多设计提出了问题和建议。
此书独特的地方可以归结为以下几个方面:
每次一小步。每次只介绍一个知识点,在确保读者能够掌握之后,再介绍新的知识点。如此,读者理解起来更加容易,也更有成就感,同时也不会因为众多纠缠不清的知识点而迷惑,这就是此书中文版厚达880页的原因。
每个知识点都有对应的可编译执行的代码例子。读者可以自己运行,加深理解。当有疑问时,也可以通过修改代码,自我验证,在不知不觉中得到提高。
采用测试框架展示程序输出。有以下优点:
培养读者对测试的重视,在实际工作中,很多初学者容易忽视测试的重要性。
培养读者去写出可测试的代码,比如紧密耦合等,都会导致程序很难测试。
培养读者如何写测试框架,这对工作中写单元测试和其他测试都很有帮助。
要修改程序时,比如重构,可以通过测试框架来确保程序的正确性。
示例中运用众多设计模式。关于设计模式的重要性,相信大家都知道,只是面向对象设计的基本功,结合实际的例子来学习,可以说是一举两得。
有些功能,有很深入的探讨。比如泛型,通过与C++的对比,介绍了设计思路和优缺点。
学习的过程
在Java Performance的开头,作者认为,要想成功地调优Java性能,你需要经历三个阶段:
我不知道我要知道什么。也就是说,在解决一个问题是,你不知道你需要知道什么知识和方法才能解决问题。
我知道我要知道什么。你知道你要了解哪些重要的东西才能解决问题,但是你还没有研究过那些重要内容的细节。
我已经知道了我需要知道的。简而言之,你了解并理解了所有的细节。
我认为,还要加上一个阶段:
我质疑并改进我已经知道的。对于我所掌握的知识和细节,我会持怀疑的态度问自己,为什么要怎么做才能解决问题?怎么做有什么优缺点?有没有其他的方法,更好的方法?
你会发现,我读《Java编程思想》的经历完整得重现这四个阶段:
未读之前,我不知道要知道什么才能用好Java。
一遍之后,我知道我要理解面向对象,异常,并发,泛型,IO等才能用好Java。
两遍之后,我理解了所有的技术细节。
三遍时,我开始评价并反思所有的技术细节,以及它们从何而来,为什么成为现在这样,以后又会去向何方。
Atas ialah kandungan terperinci java编程思想怎么样. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!