一直有这么个想法,列一下我我的认为在学习和使用Java过程当中能够推荐一读的书籍,给初学者或者想深刻的朋友一些建议,帮助成长。推荐的的都是我本身读过,也会推荐一些朋友读过而且口碑不错的书籍。
最后,若是你们若是在自学遇到困难,想找一个java的学习环境,能够加入咱们的java学习圈,点击我加入吧,会节约不少时间,减小不少在学习中遇到的难题。
1、基础类
一、《Thinking in java》(阅读2遍),入门第一位是创建正确的概念。
二、《Core Java》,我没系统读过,这本书更贴近实践,更多API的介绍,一样,更新也更频繁。(能够选重点章节读一下)
2、进阶类
一、《Effective Java》(阅读1遍),在熟悉语法、API以后,你须要知道最佳实践和陷阱,没有比这本更好的。java
最后,若是你们若是在自学遇到困难,想找一个java的学习环境,能够加入咱们的java学习圈,点击我加入吧,会节约不少时间,减小不少在学习中遇到的难题。程序员
二、《深刻Java虚拟机》(阅读2遍),翻译通常,但不可不读,最好结合最新的JVM规范来读。
三、《Java Puzzlers》,经过谜题介绍一些你可能没有注意到的边角料,做为趣味读物也不错
3、特定领域
一、并发编程(进程、线程、协程,并发模式):
(1)《Java Concurrency in Practic》(阅读1遍),并发领域必读经典。
(2)《Java并发编程:设计原则与模式》,一样是Doug lea的做品。
(3)《java threads》,入门读物。
(4)《Programming Concurrency on the JVM:Mastering Synchronization, STM, and Actors》
(5)《多处理器编程的艺术》(阅读1遍)
二、集合编程(数据结构和算法):
Collection Framworks/STL,数据结构和算法:《算法概论》 《算法导论》 《计算机编程艺术》
《Java Generics and Collections》
三、网络编程:
(1) O’Reilly的《Java nio》,不少人都推荐,我我的觉的通常,基本上只是个API更详细的说明文档,O’reilly的java系列不少都是这样。
(2)我更推荐这本《Fundamental networking in java》,由浅入深教你怎么作java网络编程,而且介绍不少背景知识,甚至介绍了各类最佳实践、网络编程模型以及Java socket在不一样平台之间的差别等等。
(3) Netty
四、web编程
(1) Servlet规范
(2) JSP规范
(3) JavaBean规范
(4) JMS/Java Naming and Directory Interface(JNDI)/JDBC/Java Transaction API(JTA)
(5) Struct2 + Spring + ibatis/hibernate/jdbc/
4、模式与设计
1架构模式、
一、《分析模式——可复用对象模型》
二、《面向模式的软件体系结构》,国内貌似翻译了5卷,绝对经典,惋惜翻译较差。
三、《企业应用架构模式》(2遍)
四、《分布式架构:选一本书》
2设计模式
一、《设计模式》,GOF的经典。
二、《设计模式精解》(1遍),应该有最新版,我的认为更适合入门。
三、《Head first设计模式》,更轻松的入门读物。
四、《Java与模式》
3代码模式/惯例/编码规范
一、《代码大全》(1遍)
4 重构
一、《重构——改善既有代码设计》(1遍),想写好代码必读。
二、《重构与模式》
5、方法论/软件工程
一、《敏捷软件开发》
二、《测试驱动开发》(1遍),你不必定要TDD,可是你必定要学会作单元测试。
三、《Agile Java》,也能够做为java入门读物。
四、《快速软件开发》
五、《面向对象分析与设计》,OO设计必读。
六、《Unix编程艺术》(1遍),打开你的眼界。
6、Java以外
一、 《深刻理解计算机系统》(0.8遍)
二、 《算法导论》阅读(0.9遍)基本部分阅读,其它参考阅读
三、 OS部分:《深刻Linux内核架构》《Linux内核设计与实现》《Linux内核分析与操做系统设计》 《Linux/UNIX系统编程手册》
四、 《TCP/IP详解》(0.8遍)(三卷)、《UNlX环境高级编程》《unix网络编程》(两卷),学习网络编程必读书。
五、 《C++网络编程》上下两卷,介绍ACE的,可是其中对各类模式运用的介绍很是值的一读。
七、 《编译原理》龙书,最新版用java解释,我没有读完,顺便提下。
六、 《计算机程序的构造与解释》,必读
八、 《数据库概念》
九、 《Joel说软件》编程文化
十、《人月神话》、《人件》(阅读1遍)
十一、《卓有成效的程序员》(阅读1遍),给我很大启发的一本书。
十二、《程序员修炼之道》(阅读1遍)
参考:
个人Java学习推荐书目 http://jm-blog.aliapp.com/?p=522
Java开发实用权威书籍集合 http://www.iteye.com/news/21791/
学习JVM的References http://jm-blog.aliapp.com/?p=525
哪本书适合推荐给Java初学者? http://www.zhihu.com/question...web