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