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