从我学习Java的经验来看,《Thinking in Java》是讲解Java编程的最佳书籍!
这本书不仅详细地介绍Java语法、知识点、API类库使用,更重要的是对Java OOP编程思想娓娓道来,让读者在潜移默化中理解了OOP思想,这是在其他编程书籍很少能见到的。在这点上不得不慨叹Bruce Eckel在讲解OOP编程思想方面有很高的天赋!
《Thinking in Java》是一本介于初级与中级之间的Java编程书籍,对后续的学习有承前启后作用。读完这本书,对后续的重构、敏捷开发、设计模式等编程知识的学习都很有帮助。
在我看来,所谓经典书籍就是能值得反复阅读多次、韦编三绝的那种。毫无疑问,《Thinking in Java》是一本这样经典的Java编程书籍。我已经读过三四遍了,每次重新阅读都能查补缺漏、有新的收获。
如果你是Java初学者那么《Thinking in Java》绝对值得拥有。
BTW,《Thinking in C++》卷1英文版也很不错!对使用C++的兄弟们想学习OOP很有帮助。

好不容易找到一个小米比较可爱的手机套,真希望快点出好多好多好漂亮的。这个我买的蓝色,到货后给大家晒晒哦。

珍珠手机壳高档 ,简单,时尚 (这个价格只限量1个,下一个就不止这个价了)~

我买的是咖啡图案,貌似已经没有了,很好看,就是在我手机自由落体运动后摔坏了唉。。。
实中对事物的处理的方法和软件设计的面向对象的方式是非常的相似的。现在假设我们正采用面向对象的方法为停车场设计一套软件,
1. 你设计的目的是什么?(即明确需求)。为了管理停车场中的空车位,还是统计停车场中各类车的种类,还是协助残障人寻找车位等等。
2. 设计中主要的对象是什么?(车,停车位,整个停车场,停车计时等等;而对这个抽象的概念还有很多的子类(轿车,卡车,残疾助动车);停车位的同样会有残障车位的子类。)
3. 还漏掉了什么东西了吗?我们用什么方式来停车计费呢?是按时间收费还是免费?我们可以添加一个叫Permission的类用来处理不同的付费方式。 Permission类的两个子类可以分别应对付费停车和免费停车。这样的话每个停车位就应该有个方法得到一个Permission对象来决定收费问题。
4. 我们这个设计中又如何来查询某辆是在停车位上?采用怎么样的方法来实现效率会高一些呢?
7.1 设计一个通用的扑克牌的结构体。并解释如何继承该类以实现某些扑克游戏。
7.2 假设有一个呼叫中心,中心的员工有三个等级:新人、技术主管、产品经理。呼叫中心有很多员工,但是只有一个技术主管或者产品经理。呼叫中心有很多的新人, 但只有一个技术主管或者产品经理。新接入的电话首先应该由空闲的新人来负责,如果新人无法处理,这通电话就应该移交给技术主管来处理;如果技术主管无法处 理,那么就应该移交给产品经理来出来。设计一个数据结构来解决该问题。并实现方法getCallHandler()
7.3 采用面向对象的设计方法设计一个音乐盒。
7.4 采用面向对象的方法设计一个象棋游戏。
7.5 设计一个在线阅览室。
7.6 实现一个七巧板游戏;设计一个合适的数据结构并描述一个算法来解七巧板。
7.7 解释你将如何设计一个聊天室服务器;并且说明服务后端所涉及到的模块、类和方法,以及设计可能遇到的最难的问题。
7.8 黑白棋游戏规则如下:
黑白棋的棋子都是一面是黑色一面白色的。假如当白色颜色的棋子被黑色棋子从两端包围的话(左右、上下或者斜线方向),那么白色棋子就被俘虏了然后翻面变成 黑棋;反之亦然。每个选手在没一轮当中必须至少俘虏一个对方的棋子。当任意一个选手没有可下的棋时,游戏结束并且棋子较多的一方获胜。采用面向对象的方法 设计一个黑白棋游戏。
7.9 解释在设计一个基于内存的文件系统时所要用的数据结构和算法。如果有必要,用代码来演示。
7.10 描述如果在C++中设计一个垃圾收集器,你所要用到的数据结构和算法。
===================================================================
“LIB 环境变量”中指定的搜索路径“e:/Microsoft Visual.Studio.6.0/mfc/lib”无效 --“系统找不到指定的路径。 ”
“LIB 环境变量”中指定的搜索路径“e:/Microsoft Visual.Studio.6.0/lib”无效 --“系统找不到指定的路径。 ”
===================================================================
上网一查,原来在同时安装VC++6.0和VS2008时,VC++6.0在环境变量里添加了一个叫“lib”的Administrator用户变量。
网上提供了几种解决办法:
1、"我的电脑"->"属性"->"高级"-"环境变量",然后把"Administrator 的用户变量"里的lib变量去掉上面提到的无效路径。
e:/Microsoft Visual Studio/VC98/mfc/lib;
e:/Microsoft Visual Studio/VC98/lib;(去掉;)
e:/Microsoft Visual.Studio.6.0/mfc/lib;
e:/Microsoft Visual.Studio.6.0/lib
下次使用VC++时,还得改回来,麻烦!
2、在相应位置建立相应的文件夹即可。
如果,这本书压缩下,减少到300页。效果会更好,周边没有用处的引用太多,有些历史典故放到页下注脚解释一行就行了。不要浪费那么多篇幅,淹没本来该有的知识点。
前面有位评论推荐linux程序员应该读读,那么我推荐windows程序员不要读。
可以看作者访谈中推荐的书来代替。
全书给我的感觉是雾里看花水中望月,讲了很多,又都不细,历史典故不少,当你想更多了解知识点得时候它又结束了,感觉不够过瘾,不够到位。
所以建议把书压缩下,把水挤出去,留下点干货。这本书会更经典。
以上说的是缺点。
优点是它能让读者认识到程序从源代码到运行态经历了一个怎样的过程。
它让读者不用读大量的基础知识书籍(像什么编译原理、操作系统什么的)就能了解到这个过程。
看过《鹿鼎记》会知道有这么一段:韦小宝在少林出家,邂逅阿珂。打不过阿珂,求教老和尚武功那段。老和尚让他先练三年韦陀掌,再练几年金刚掌,最后再搞几十年易筋经,才能使易筋经里的某一招对付。才能对付那个姑娘。结果韦小宝想出了个只学招式不学内功的法子。
这么比喻也许缺乏恭敬,但确实不适合练习内功。
本书更适合刚进学校的学生学习,你可能还没学过编译原理,没学过操作系统,别担心,你后面会学到的,你现在知道有这么回事就行了。
最后感谢作者,是他们让我知道了|“有这么一些事”。让我知道了一部分我原本不知道的事。