一、基础类
1、《Thinking in java》,入门第一位是建立正确的概念。已读
2、《Core Java》,我没系统读过,这本书更贴近实践,更多API的介绍,同样,更新也更频繁。 已读
二、进阶类
1、《Effective Java》,在熟悉语法、API之后,
你需要知道最佳实践和
陷阱,没有比这本更好的。
2、《Java Puzzlers》,通过谜题介绍一些你可能没有注意到的边角料,作为趣味读物也不错
3、《深入Java虚拟机》,翻译一般,但不可不读,最好
结合最新的
JVM规范来读。
三、特定领域
1、网络编程:
(1) O’Reilly的《Java nio》,很多人都推荐,我个人觉的一般,基本上只是个API更详细的说明文档,O’reilly的java系列很多都是这样。
(2)我更推荐这本《Fundamental networking in java》,由浅入深教你怎么做java网络编程,并且介绍很多背景知识,甚至介绍了各种最佳实践、网络编程模型以及Java
socket在不同平台之间的差异等等。
2、并发编程:
(1)《Java Concurrency in Practic》,并发领域必读经典。
(2)《
Java并发编程:设计原则与模式》,同样是Doug lea的作品。
(3) 《java
threads》,入门读物。
3、web编程,这块我许久未接触了,就不推荐了,有兴趣的朋友可以补充下。
四、模式与设计
1、《
设计模式》,GOF的经典。
2、《设计模式精解》,应该有最新版,个人认为更适合入门。
3、《Head first设计模式》,更轻松的入门读物。
4、《
企业应用架构模式》
5、《分析模式——可复用对象模型》
6、《面向模式的软件体系结构》,国内貌似翻译了3卷,绝对经典,可惜翻译较差。
7、《重构——改善既有代码设计》,想写好代码必读。
8、《重构与模式》
五、方法论
1、《
敏捷软件开发》
2、《测试驱动开发》,你不一定要TDD,但是
你一定要学会做单元测试。
3、《Agile Java》,也可以作为java入门读物。
4、《快速软件开发》
5、《面向对象分析与设计》,OO设计必读。
6、《Unix编程艺术》,打开你的眼界。
六、Java之外
1、《unix网络编程》,学习网络编程必读书。
2、《C++网络编程》上下两卷,介绍ACE的,但是其中对各种模式运用的介绍非常值的一读。
3、《Joel说软件》,编程文化
4、《人月神话》、《人件》
5、《卓有成效的
程序员》,给我很大启发的一本书。
6、《程序员修炼之道》
7、《计算机程序的构造与解释》,必读
8、《
算法导论》,可以作为参考书
9、《深入
理解计算机系统》
10、《编译原理》龙书,最新版用java解释,我没有读完,顺便提下。
原文blog地址:http://blog.csdn.net/waynell/article/details/6711108