Java学习之路(书籍推荐)
一、基础类
1、《Thinking in java》(阅读2遍),入门第一位是建立正确的概念
2、《Core Java》这本书更贴近实践,更多API的介绍,同样,更新也更频繁。(可以选重点章节读一下)
二、进阶类
1、《Effective Java》(阅读1遍),在熟悉语法、API之后,你需要知道最佳实践和陷阱,没有比这本更好的。
2、《深入Java虚拟机》(阅读2遍),翻译一般,但不可不读,最好结合最新的JVM规范来读。
3、《Java Puzzlers》,通过谜题介绍一些你可能没有注意到的边角料,作为趣味读物也不错
三、特定领域
1、并发编程(进程、线程、协程,并发模式):
(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遍)
2、集合编程(数据结构和算法):
Collection Framworks/STL,数据结构和算法:《算法概论》 《算法导论》 《计算机编程艺术》
《Java Generics and Collections》
3、网络编程:
(1) O’Reilly的《Java nio》,很多人都推荐,我个人觉的一般,基本上只是个API更详细的说明文档,O’reilly的java系列很多都是这样。
(2)我更推荐这本《Fundamental networking in java》,由浅入深教你怎么做java网络编程,并且介绍很多背景知识,甚至介绍了各种最佳实践、网络编程模型以及Java socket在不同平台之间的差异等等。
(3) Netty
4、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/
四、模式与设计
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遍)
参考:
我的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/19848946?rf=19752221
Java学习之路(书籍推荐)的更多相关文章
- Android学习之路书籍推荐
Android开发书籍推荐:从入门到精通系列学习路线书籍介绍 JAVA入门书籍: < Introduction to java programming > < Core java & ...
- python学习之路-书籍推荐
学python有一段时间了,总结走来的路,发现还是看书靠谱,当然也要多实践. 一.入门篇 1.简明 Python 教程(A Byte of python) http://www.kuqin.com/a ...
- Java学习之路(转)
Java学习之路(书籍推荐) 一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多 ...
- 新篇章之我的java学习之路下
昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...
- java学习之路之javaSE基础2
java学习之路之javaSE基础2 所有的代码都是引用他人写的. 1.逻辑运算符 //&,|,^,! //int x = 10; //5 < x < 15 //x > 5 ...
- java学习之路之javaSE基础1
<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...
- JAVA学习之路与大家分享
这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...
- 深度学习Tensorflow相关书籍推荐和PDF下载
深度学习Tensorflow相关书籍推荐和PDF下载 baihualinxin关注 32018.03.28 10:46:16字数 481阅读 22,673 1.机器学习入门经典<统计学习方法&g ...
- Java 学习之路 -- day00
Java 学习之路 -- day00 Typora 快捷键操作 标题:#+空格 2. *斜体* 3. **加粗** 4. **斜体加粗*** 5. ~~删除线~~ 6. > 引用 7. ···分 ...
随机推荐
- 将CRUD封装到一个工具类中
package org.zln.hibernate.utils; import org.hibernate.Session; import org.hibernate.SessionFactory; ...
- 【bzoj3033】太鼓达人 DFS欧拉图
题目描述 给出一个整数K,求一个最大的M,使得存在一个每个位置都是0或1的圈,圈上所有连续K位构成的二进制数两两不同.输出最大的M以及这种情况下字典序最小的方案. 输入 一个整数K. 输出 一个整数M ...
- MySQL 服务器安装及命令使用
本文来自实验楼相关部分的文档和实验操作过程. 一.MySQL简介 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,提高了速度并提高了灵活性.My ...
- 洛谷 P1379 八数码难题 解题报告
P1379 八数码难题 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种初始布局(初 ...
- 【BZOJ 2744 朋友圈】
Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 1570 Solved: 532[Submit][Status][Discuss] Descripti ...
- 东北育才冲刺noip(day9)
这十天来呢,感觉自己进步很大,(虽然被碾压的很惨),看到了自己以前完全没见过,也没想过的算法,打开新世界的大门. 同时呢,也感觉自己太弱了,于是就注册了这个博客. 为了促进进步,在这里立下flag,我 ...
- 怎么将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL
有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle. 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面. ...
- centos7.6升级ssh7.9、安装PHP7.2、Nginx1.15.9、PHP加密扩展php_screw1.5
1.centos7 安装PHP7.2版本 #查询是否安装过php yum list installed | grep php yum provides php #移除php yum remove ph ...
- bzoj 2151 贪心
几乎完全类似于1150的思路,直接参考那个就行了. http://www.cnblogs.com/BLADEVIL/p/3527193.html /************************** ...
- bzoj 1044 贪心二分+DP
原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1044 首先对于第一问,我们可以轻易的用二分答案来搞定,对于每一个二分到的mid值 我们从l ...