Java推荐书单

最近面试了很多小朋友,结果真的不是很理想。工作3-5年,Java基础不扎实,设计模式不了解,甚至用了几年Spring,它是如何控制事务的都不了解,更别说去了解它们的原理了。

有些人是因为工作本身的原因,只需要他们一个罗卜一个坑地往里填,渐渐地也就不愿做过多的研究和学习了。坦白讲,学得越多,反而觉得越痛苦,因为框架已把他们圈得死死的。例如某日本外包企业。

有些人则是不知道如何去学习,没有找到方向。以至于面试结束时,很诚肯地问:你能不能给我推荐一些学习的好书?

相反,我所认识的一个小弟就比较爱学习,也比较会学习。例如,他不单了解Java集合框架,知道各种集合类的差别,甚至去读它们的源码,并说出自己的心得。这样的小弟即使不会Spring,不会Hibernate,已经不重要了,学会它也就是分分钟的事情。

以前,也零零散散地推荐了一些书给大家,在这开始新工作之际,整理一个列表给大家,希望对大家有用。

入门类

  1. Java 核心卷 (CoreJava)
  2. Java 编程思想(Thinking in Java)
  3. UML (暂无推荐,但必学)

注:这类书一定要照着书本的例子多练习,多体会,并举一反三。这是基本功。

实战类/框架类

  1. 设计模式 (需要结合网络上的讲解或其它类似书籍来看)
  2. Spring / Hibernate / Struts /Maven / Docker / Redis / Etc.

注:这类书藉我就作具体不推荐了,看看网上推荐的即可。在阅读时,也不用读得太过细致,用时再查即可。只是,需要重点了解的是这些背后的设计原理。这也是为什么我把《设计模式》归于这一类的原因。

方法类/提高类

  1. Effective Java
  2. 重构
  3. 测试驱动开发
  4. 硝烟中的Scrum和XP
  5. 解析极限编程
  6. 敏捷软件开发原则、模式与实践
  7. Scrum敏捷项目管理
  8. 成功的项目管理 (或者去学个PMP吧)

注:就我个人来说,非常喜欢各类敏捷类的书籍和方法。相较于CMMI, PMP这些,更高效。毕竟,这些最佳实践都是出自行业顶尖高手的实践总结,而不是学院。

设计类

  1. 大型网站技术架构
  2. 大型网站系统与Java中间件实践

注:这类书籍,现在风头最旺的无过于阿里系的书籍,都是好书。毕竟实践出真知,同时也接地气。只是,在看这些书时,更多地去需要将知识点展开来,书上讲的多是内功心法,需要从网络上多搜些知识来扩充。

升华类

  1. 读源码
  2. 多练习
  3. 多重构多雕琢

总的来说,兴趣还是最最重要的,如果只是把软件当作养家糊口的工作,我不知道是不是有兴趣和决心去把这些书读完……

好了,就先这么多吧,大家继续分享吧!

时间: 2024-11-16 17:24:55

Java推荐书单的相关文章

Android 应用开发推荐书单

Android 已经成为了世界上最受欢迎的操作系统之一.成千上万的智能手机和平板都是运行着Android.Android基于Linux系统架构,由Android公司开发.2005年该公司被 Google收购.Android最棒的是,它是一个允许用户根据需求进行定制的操作系统.如果你是一位Android开发人员,你不必担心Google会因为修改系统对你起诉.那么,你是否已经打算学习一下Android开发呢? Android开发非常有趣并且令人激动.你可以为自己的手机开发一些应用,然后在Google

java:单例的理解

前言:Java的单例经常用到,今天发现自己有一点新的认识. 懒汉式单例 package com.mwq.singleton; public class Singleton1 { private Singleton1() { } private static Singleton1 single = null; public static Singleton1 getInstance() { if (single == null) { return new Singleton1(); } retur

java实现单链表

前面已经介绍了java如何实现顺序链表:http://www.cnblogs.com/lixiaolun/p/4643664.html 接下来,我们开始学习java实现单链表. 单链表类 package linklist; public class LinkList { class Element { public Object value=null; private Element next=null; } private Element header = null;//头结点 /** * 初

史上最全Java表单验证封装类

package com.tongrong.utils; import java.util.Collection; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.lang.StringUtils; /** * Java表单验证工具类 * * @author jiqinlin * */ @SuppressWarnings("

《一网打尽:贝佐斯与亚马逊时代》的推荐及推荐书单

题记:用手机屏幕完整看了<一网打尽>,里面描述了亚马逊成长过程中的艰辛与挫折,记忆最深的就是对其竞争对手的残酷打压,商业也许就是这样,单个人还是不能完全认同. 很早以前就关注亚马逊网站,及贝佐斯本人,但<一网打尽>还是披露了很多鲜为人知的内幕.联想到以前看过的<乔布斯传>,发现卓越的领导人都是非常有个性的,也是非常强势的一个人,否则不可能在初期能够力挽狂澜:同时也是非常具有远见,正是这种梦想,让很多人能够一直追随,且不断有人能够被其激励而继续前行. 书中提到了亚马逊的云

java的单例设计模式(对象的延时加载)考试专用

java的单例设计模式(对象的延时加载) ,称为:懒汉式    考试专用例:package day6; public class Single2 {  //考试专用  ,对象的延时加载 ,外号:赖汉式        private static Single2 s=null;        private Single2(){            }        public static synchronized Single2 getInstance(){  //synchronized

java 实现单链表的逆序

</pre><pre name="code" class="java">package com.ckw.mianshi; /** * java 实现单链表的逆序 * @author Administrator * */ public class SingleLinkedReverse { class Node{ int data; Node next; public Node(int data){ this.data = data; } }

JAVA 实现单链表

1 public class LinkNode { 2 public String data; 3 public LinkNode next; 4 5 LinkNode(){ 6 this.data = "a"; 7 this.next = null; 8 } 9 10 LinkNode(String string){ 11 this.data = string; 12 this.next = null; 13 } 14 } 1 public class LinkList { 2 3

Java 实现单链表反序

//单链表反序 public class SingleLinkedListReverse { public static void main(String[] args) { Node head = new Node(0); Node temp = null; Node cur = null; for (int i = 1; i <= 10; i++) { temp = new Node(i); if (i == 1) { head.setNext(temp); } else { cur.set