Java learning book recommendation

1. Basic class

1. "Thinking in java" (read 2 times), the first entry is to establish the correct concept

2. The book "Core Java" is closer to practice, with more API introductions, and similarly, updates are more frequent. (You can choose the key chapter to read)

2. Advanced class

1. "Effective Java" (read 1 time), after familiarizing yourself with the syntax and API, you need to know the best practices and pitfalls. There is no better book than this.

2. "In-depth Java Virtual Machine" (read 2 times), the translation is general, but it is necessary to read, it is best to read it in conjunction with the latest JVM specifications.

3. "Java Puzzlers", which introduces some leftovers that you may not have noticed through puzzles, and is also a good read for fun

3. Specific areas

1. Concurrent programming (process, thread, coroutine, concurrent mode):

(1) "Java Concurrency in Practic" (read 1 time), a must-read classic in the field of concurrency.

(2) "Java Concurrent Programming: Design Principles and Patterns" is also the work of Doug lea.

(3) "java threads", a primer.

(4)《Programming Concurrency on the JVM:Mastering Synchronization, STM, and Actors》

(5) "The Art of Multiprocessor Programming" (read 1 time)

2. Set programming (data structures and algorithms):

Collection Framworks/STL, Data Structures and Algorithms: "Introduction to Algorithms" "Introduction to Algorithms" "The Art of Computer Programming"

《Java Generics and Collections》

3. Network programming:

(1) O'Reilly's "Java nio" is recommended by many people. I personally think it is average. It is basically just a more detailed description of the API. Many of O'Reilly's java series are like this.

(2) I recommend this book "Fundamental networking in java", which teaches you how to do java network programming from the simple to the deep, and introduces a lot of background knowledge, and even introduces various best practices, network programming models and Java sockets on different platforms. differences, etc.

(3) Netty

4. web programming

(1) Servlet specification

(2) JSP specification

(3) JavaBean specification

(4) JMS/Java Naming and Directory Interface(JNDI)/JDBC/Java Transaction API(JTA)

(5) Struct2 + Spring + ibatis/hibernate/jdbc/

四、模式与设计

1架构模式、

1、《分析模式——可复用对象模型》

2、《面向模式的软件体系结构》,国内貌似翻译了5卷,绝对经典,可惜翻译较差。

3、《企业应用架构模式》(2遍)

4、《分布式架构:选一本书》

2设计模式

1、《设计模式》,GOF的经典。

2、《设计模式精解》(1遍),应该有最新版,个人认为更适合入门。

3、《Head first设计模式》,更轻松的入门读物。

4、《Java与模式》

3代码模式/惯例/编码规范

1、《代码大全》(1遍)

4 重构

1、《重构——改善既有代码设计》(1遍),想写好代码必读。

2、《重构与模式》

五、方法论/软件工程

1、《敏捷软件开发》

2、《测试驱动开发》(1遍),你不一定要TDD,但是你一定要学会做单元测试。

3、《Agile Java》,也可以作为java入门读物。

4、《快速软件开发》

5、《面向对象分析与设计》,OO设计必读。

6、《Unix编程艺术》(1遍),打开你的眼界。

六、Java之外

1、 《深入理解计算机系统》(0.8遍)

2、 《算法导论》阅读(0.9遍)基本部分阅读,其它参考阅读

3、   OS部分:《深入Linux内核架构》《Linux内核设计与实现》《Linux内核分析与操作系统设计》 《Linux/UNIX系统编程手册》

4、 《TCP/IP详解》(0.8遍)(三卷)、《UNlX环境高级编程》《unix网络编程》(两卷),学习网络编程必读书。

5、 《C++网络编程》上下两卷,介绍ACE的,但是其中对各种模式运用的介绍非常值的一读。

6、 《计算机程序的构造与解释》,必读

7、 《编译原理》龙书,最新版用java解释,我没有读完,顺便提下。

8、 《数据库概念》

9、 《Joel说软件》编程文化

10、《人月神话》、《人件》(阅读1遍)

11、《卓有成效的程序员》(阅读1遍),给我很大启发的一本书。

12、《程序员修炼之道》(阅读1遍)

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324890851&siteId=291194637