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

原文地址:https://www.cnblogs.com/Roni-i/p/9998790.html

时间: 2024-10-12 07:55:04

Java学习之路(转)的相关文章

Java学习之路(二)--Thinking in Java

针对昨天Java学习之路(一)--Thinking in Java中的类的静态方法不能访问创建非静态类,给出了将内部类修改成为static静态类,操作方便简单.现在给出第二种不需要添加删除的另一种极为高效的方式.可以将内部类从你所创建的类中复制粘贴到类外,作为一个外部类,在static主方法中就可以创建类的引用了. 源代码如下: ? class test{ int s; char c; } public class test1 { public static class test{ int s;

Java学习之路:1、HelloWorld

似乎每种语言都是从HelloWorld开始的,所以,我的第一个java程序,也应该是这样开始的! 1.配置好jdk后,开始编写HelloWorld.java package second;//这个应该在我的理解就相当于php的命名空间 public class HelloWorld {//如同php中的声明一个类,不过php是不需要加public这样的类型修饰符 public static void main(String[] args){//声明一个方法,不过不懂的是为什么一定要static:

mapxtreme java学习之路(1)——.dwg转.tab再转.gst详细教程

[背景] 因为项目的需要,需要在java web 项目中使用到地图,厂家提供的是dwg格式的地图,而我们采用的是mapxtreme java技术,所以先要把dwg格式的地图转成mapxtreme java可以解析的格式,即gst格式.关于这方面的资料,网上甚少,加上软件难找,中间走了不少弯路.基于mapxtreme java以后可能还要能到,dwg转gst的过程也必不可少,所以在这里整理一下整个转化过程.如果大家有更好的转化方法,欢迎讨论. [环境] windows xp 32 位 的虚拟机.

Java学习之路:2、Mysql 链接与查询

1.事实上我发现有了php的功力在里面,学习java起来还是不是很费劲,只是java就没有面向过程这一说 package second; import java.sql.*;//导入 public class mysql { public static void main(String[] args) throws SQLException{ String driver = "com.mysql.jdbc.Driver";//声明要被导入的类 String dsn = "jd

java学习之路—初级阶段(迷茫的大学)

本人现在大三,三本院校,电子信息专业.大三下学期才开始定位软件方向.真的是越上学越迷茫,真的不知道去干嘛,本专业本身就可以分软硬件两个方向,可我们都要学.最迷茫的时候,一直在玩游戏,因为真的不知道要去干嘛.知道的太少,心态消极,,,,,后来开始上网才知道原来很多人大学生和我一样迷茫,我们真的没了方向.当然也有些人一上大学就知道自己要干嘛,并且一直努力着.有时候真的很羡慕他们,当别人刚开始起步的时候,或许他们已经登上了顶峰,当然也怪自己的愚昧无知啦.好吧,感慨有点多,呵呵. 在网上混了好几天之后,

黑马程序员 【】java学习之路——TCP(三)客户端上传文件到服务器

------- <a href="http://www.itheima.com" target="blank">android培训</a>.<a href="http://www.itheima.com" target="blank">java培训</a>.期待与您交流! ---------- import java.io.*; import java.net.*; class

java学习之路之javaSE基础1

<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用举例 * 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机.大型计算机等. * 应用举例 * 1:科学计算 * 2.数据处理 * 3.自动控制 *

JAVA学习之路:不走弯路,就是捷径

转自:http://blog.csdn.net/jaketseng/archive/2007/12/01/1910483.aspx 软件开发之路是充满荆棘与挑战之路,也是充满希望之路.JAVA学习也是如此,没有捷径可走.梦想像<天龙八部>中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的.每天仰天大叫"天神啊,请赐给我一本葵花宝典吧",殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了" 东方不败",倒是成"西方失败&

(转)如何学习Java技术?谈Java学习之路

51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领域其他技能的学习. [在原先<学好Java之我见>的基础上重新整理而成] Java - 近10年来计算机软件发展过程中的传奇,其在众多开发者心中的地位就如“屠龙刀”.“倚天剑”. Java是个平台,我只想说说我对学好Java的一点看法,希望对初学者有所帮助. 1. 思考一下 学习Java之前,先别

java学习之路

软件开发之路是充满荆棘与挑战之路,也是充满希望之路.JAVA学习也是如此,没有捷径可走.梦想像<天龙八部>中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的.每天仰天大叫"天神啊,请赐给我一本葵花宝典吧",殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了"东方不败",倒是成"西方失败"的几率高一点. "不走弯路,就是捷径",佛经说的不无道理. 1.如何学习程序设计? JAVA是一种平台,