java入门书籍推荐

一、Java编程入门课?

对于没有Java编程经验的程序员来说,随便看什么入门书籍都一样。在这个阶段,你需要快速掌握Java的基本语法和基本用法。目的是“吞枣不求甚解”,先熟悉Java。在极短的时间内快速过一遍Java语法,多写带猜测的代码,做到“心中有数”。?

1,Java编程思路?

在你有了一些Java编程的经验之后,你需要“知道为什么”。这时候《Java编程思想》就是一本让你知道为什么的好书。对基本的面向对象知识,基本的Java语法,基本的类库都有清晰的讲解,可以帮助你打好Java编程的基础。这本书的缺点是太厚太啰嗦,不适合现代人快节奏学习。因此,你应该知道如何选择这本书。不是每一章每一节都值得一读,你可以只挑重点,深入阅读。?

2.中国版敏捷Java?

这本书是出版社给我的。我一拿到就放在书架上,书柜里一页也没翻。但是前两天整理书柜的时候,拿出来翻了一下,发现绝对是一本好书!这本书的一大特色就是单元测试和TDD贯穿全书。在教你各种重要的Java基础知识的过程中,潜移默化的影响你的编程思维走向敏捷和TDD。另外,这本书很新,基于JDK5.0的语法,学习JDK5.0的新语法也不错,另外,这本书在内容的选择上也很恰当。毕竟Java语言有庞大的类库,讲的东西太多了。本书选取的内容和内容量都非常恰当,让你在最少的时间内掌握Java最重要的知识,顺便培养优秀的编程思想。真是一本不可多得的好书。?

虽然作者本人把这本书定位在入门水平,但我不确定对于入门来说是不是有点深。我也准备看看这本书,有空再学。?

二、Java编程高级班?

打好Java基础需要更多的实践经验积累,我不认为有什么捷径。在编程生涯的这个阶段,有两本书值得一读,可以培养良好的编程习惯,提高代码质量。?

1,重构改善现有代码的设计?

这本书很有名,不用介绍了。可以在业余时间多看看,用自己的实践来印证。这本书对你的影响潜移默化。?

2.通过实例测试驱动开发?

这本书最大的特点就是很薄,似乎没有负担。你可以找一个周末的下午,边看边做,一个下午就把书看完了,这本书里的例题都用完了。这本书的作用就是让你通过实战培养TDD的思维。?

三、Java架构师之路?

到了这个阶段,你应该已经非常熟练地使用Java编程,有了很好的编程思路和习惯,但可能还缺乏对应用软件整体架构的把握。现在是你成为建筑师的第一步。?

1、《专家一对一J2EE设计开发》?

这本书是Rod Johnson的名著,非常经典,springframework就是从这本书里的代码诞生的。但是这本书好像没有中文译本。?

2、《没有EJB的J2EE发展专家一对一》?

这本书是gigix翻译的,有很多行业专家参与。虽然署名的翻译是JavaEye,但其实JavaEye贡献并不大,所以真的是占据了翻译的头衔。?

以上两本书是Rod Johnson的经典著作,也是Java架构师的必读书籍。在我推荐的这些书中,它们是我读过的最认真、最严肃的书。这本书我当时差不多看完了,还有精力开夜车看小时候的金庸武侠小说。书中的内容和我自己的经历、见识一一印证,总结得很精辟。看完这本书,感觉自己的技能爆炸了。?

但是后来看了一些别人的评论,似乎阅读体验没有我高,可能是因为每个人的知识积累和经历不一样。当时正好积累了丰富的经验和知识,却没有系统的整理和塑造。我一梳理这本书,立刻就形成了完整的知识体系。?

3.企业应用架构模型?

马丁的另一部杰作,但这本书我只是泛泛而读,没有细读。这本书似乎更适合做框架的人阅读。比如你打算自己写一个ORM,这本书一定要看。不过看不看好像也没关系,但是如果有时间的话,我还是建议认真看一下,这样可以让你知道框架为什么要这样设计,这样你的水平就可以提升到框架设计者的角度了。我一直很欣赏马丁的书,但从来没有像罗德·约翰逊的书读得那么仔细。?

4.敏捷软件开发的原则、模式和实践?

鲍勃大叔的代表作,敏捷经典代表作,这本书挺特别的。与其说是一本关于软件开发过程的书,不如说是一本关于软件架构的书。这本书用了很大的篇幅来讲面向对象软件开发的各种模型。个人认为看完这本书,就不用看GoF的设计模式了。?

四、软件开发流程?

了解软件开发流程不仅是为了提高程序员良好的编程习惯,也是为了增强团队合作。?

1,UML的精髓?

事实上,UML与软件开发过程无关,但它是软件团队合作交流和编写软件文档所需要的工具。然而,真正实用的UML图并不多。看这本书就够了,没必要去啃什么UML用户指南之类的东西。在此提醒一下,这本书的中文翻译很差,建议有条件的看英文原版。?

2.《解析极限编程拥抱变化》XP?

这是肯特·贝克名著的第二版,中英文对照。没什么好说的,必须看书。?

3.统一软件开发流程?

其实UP和敏捷不一定冲突。UP也强调迭代和测试,但是UP强调的文档和过程驱动并不是敏捷所采取的。反正UP值得一读。毕竟国内真正接受敏捷的企业很少。你还是需要用UP来武装自己,哪怕是XP用UP。?

4.“敏捷建模”AM?

斯科特·安布勒的代表作,这本书很有实战性,告诉你如何做到敏捷和UP,把敏捷和UP统一起来,提出了很多实战性的建议和实践。你可以把这三本书放在一起看:《解析极限编程拥抱变化》、《统一软件开发过程》和《敏捷建模》,看看XP和UP的区别,再看看AM是怎么把XP和UP统一起来的,把这三个理论融为一炉,形成自己的理论体系,这样你也可以写一本书了。?

动词 (verb的缩写)软件项目管理?

如果你突然被领导提拔为项目经理,而你又完全没有项目管理经验,你肯定没有信心;如果你觉得自己不擅长项目管理,想提高自己的项目管理能力,那么考PMP肯定是远水楼台先得月。?

1,软件快速开发?

这也是一本名著。可以说,手里拿着一本书,你就有了一个资深的项目管理人员为你出谋划策,你再也不用担心自己的无能了。这本书不是关于管理理论的。在实际项目管理中,谈论这些理论并不能解决问题。这本书有点类似于“软件项目思想大全”之类的东西,罗列了各种软件项目面临的各种问题,以及如何解决这些问题的思路。你只需要灵活一点,找到药方。?

六、总结?

在这个推荐阅读书籍的列表中,我没有列出流行的软件框架学习书籍,比如Struts、Hibernate、Spring等等,也没有列出AJAX书籍。因为这类书容易过时,而且以上书籍大多生命周期较长,值得购买和收藏。