1 新手入门打基础的
《Java 语言程序设计》
比较简单,适合入门。但是看了以后只能去死记里面的一些东西。可以用来快速学习语
法,对面向对象编程有个基本的概念。第 8 章 图形用户界面设计、第 9 章 Java Applet
不需要看,这些属于前端开发的知识,做后端的人了解一下就可以了。建议 3 到 4 个星期。
《Java 核心编程》
Core Java,上下卷。我看的是英文版,一些看不懂的地方就参考中文版。英文原
版其实更好理解一些,有的词汇翻译以后感觉怪怪的。
上卷是基础知识,里面的内容与《Java 语言程序设计》类似,但是讲得更加深入,里面
还有很多与 C++的对比,可以更好的了解 Java 语言的特性。对于我这样从 C++转成 Java 的
人很
有帮助,虽然我 C++也没有学好。。。同样的,不要需要看里面关于 Swing 的内容。
下卷是高性能,讲的东西偏实践一些。比如 XML、Networking、Database、JavaBean 这
些肯定是要重点看的。其他的一些内容,像国际化、安全、Swing、AWT、Na#ve 方法可以
根
据自己的情况有选择性的看。
《java 编程思想》
Think in Java。也是外国人写的书,讲得很细,看过前两本以后,这本书我就简单过
了一遍。看外国人的书,要想办法理解和学习他们思考问题的方式,他们对编程语言的理
解
,思考他们的推理过程,很多事情为什么那样做,不那样有没有别的方案,现有的方案是
不
是最适合的。感觉和我的思维方式差别很大。
还有一些比较流行的书:21 天学通 java、疯狂 java 讲义。我全部都没有看。
《数据结构:Java 版》
本科时候学习的数据结构是 C 语言版的,使用 Java 以后当然要看看 Java 版本。原因很简
单:在面试和工作的时候,肯定能要用 Java 来实现一些基本的数据结构。一些公司招聘 Jav
a 工程师时,面试中会有算法题,然后让你当场写代码实现,此时非常考验代码功底。建
议
自己把栈、队列、阻塞队列、各种排序算法分别用数组和链表来实现一遍,把代码写出来,
注意代码的风格。
2 进阶,为实践和找工作做准备
《程序员面试攻略:secrets to landing your next job》
老外写的一本程序员找工作的书,里面提到一些解决问题的思想,可以好好学习。后半
部分我没有认真看,感觉作用可能比较小。
《剑指 O-er:名企面试官精讲典型编程题》