﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-城市猎人-文章分类-锤炼</title><link>http://www.blogjava.net/sailor/category/38156.html</link><description>在一网情深的日子里，谁能说得清是苦是甜，只知道确定了就义无反顾</description><language>zh-cn</language><lastBuildDate>Sat, 07 Mar 2009 10:21:26 GMT</lastBuildDate><pubDate>Sat, 07 Mar 2009 10:21:26 GMT</pubDate><ttl>60</ttl><item><title>Java程序员的推荐阅读书籍 </title><link>http://www.blogjava.net/sailor/articles/258363.html</link><dc:creator>sailor</dc:creator><author>sailor</author><pubDate>Sat, 07 Mar 2009 06:19:00 GMT</pubDate><guid>http://www.blogjava.net/sailor/articles/258363.html</guid><wfw:comment>http://www.blogjava.net/sailor/comments/258363.html</wfw:comment><comments>http://www.blogjava.net/sailor/articles/258363.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sailor/comments/commentRss/258363.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sailor/services/trackbacks/258363.html</trackback:ping><description><![CDATA[<div class="content">作为Java程序员来说，最痛苦的事情莫过于可以选择的范围太广，可以读的书太多，往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些，按照学习的先后顺序，推荐给大家，特别是那些想不断提高自己技术水平的Java程序员们。 <br />
<br />
<em>在这份推荐阅读书籍的名单中，我没有列举流行的软件框架类学习书籍，例如Struts，Hibernate，Spring之类，也没有列举AJAX方面的书籍。是因为这类书籍容易过时，而上述的大半书籍的生命周期都足够长，值得你去购买和收藏。</em> <br />
<br />
</div>
<div id="wiki_menu">
<h4>目 录 <a title="隐藏/显示目录" onclick="$$('#wiki_menu ol')[0].toggle();return false;" href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#"><small>[ - ]</small></a></h4>
<ol>
    <li><a href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#1468">Java编程入门类 </a>
    <li><a href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#1469">Java编程进阶类</a>
    <li><a href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#1470">Java架构师之路</a>
    <li><a href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#1471">软件开发过程</a>
    <li><a href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#1472">软件项目管理</a> </li>
</ol>
</div>
<h2>Java编程入门类 <a name="1468" href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#top"><img alt="Top" src="http://www.javaeye.com/images/wiki/top.gif?1229402183" /></a> </h2>
<div class="content">对于没有Java编程经验的程序员要入门，随便读什么入门书籍都一样，这个阶段需要你快速的掌握Java基础语法和基本用法，宗旨就是&#8220;囫囵吞枣不求甚解&#8221;，先对Java熟悉起来再说。用很短的时间快速过一遍Java语法，连懵带猜多写写代码，要&#8220;知其然&#8221;。 <br />
<br />
<strong><span style="font-size: medium">1、《Java编程思想》</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1959358.jpg" /> <br />
在有了一定的Java编程经验之后，你需要&#8220;知其所以然&#8221;了。这个时候《Java编程思想》是一本让你知其所以然的好书，它对于基本的面向对象知识有比较清楚的交待，对Java基本语法，基本类库有比较清楚的讲解，可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚，也比较罗嗦，不适合现代人快节奏学习，因此看这本书要懂得取舍，不是每章每节都值得一看的，挑重点的深入看就可以了。 <br />
<br />
<strong><span style="font-size: medium">2、《Agile Java》中文版</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s2008093.jpg" /> <br />
这本书是出版社送给我的，我一拿到就束之高阁，放在书柜一页都没有翻过，但是前两天整理书柜的时候，拿出来一翻，竟然发现这绝对是一本好书！这本书一大特点是以单元测试和TDD来贯穿全书的，在教你Java各种重要的基础知识的过程中，潜移默化的影响你的编程思维走向敏捷，走向TDD。另外这本书成书很新，以JDK5.0的语法为基础讲解，要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当，Java语言毕竟类库庞大，可以讲的内容太多，这本书选择的内容以及内容的多寡都很得当，可以让你以最少的时间掌握Java最重要的知识，顺便培养出来优秀的编程思路，真是一本不可多得的好书。 <br />
<br />
虽然作者自己把这本书定位在入门级别，但我不确定这本书用来入门是不是稍微深了点。 </div>
<h2>Java编程进阶类 <a name="1469" href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#top"><img alt="Top" src="http://www.javaeye.com/images/wiki/top.gif?1229402183" /></a> </h2>
<div class="content">打下一个良好的Java基础，还需要更多的实践经验积累，我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读，培养良好的编程习惯，提高你的代码质量。 <br />
<br />
<strong><span style="font-size: medium">1、《重构 改善既有代码的设计》</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1826359.jpg" /> <br />
这本书名气很大，不用多介绍，可以在闲暇的时候多翻翻，多和自己的实践相互印证。这本书对你产生影响是潜移默化的。 <br />
<br />
<strong><span style="font-size: medium">2、《测试驱动开发 by Example》</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1441607.jpg" /> <br />
本书最大特点是很薄，看起来没有什么负担。你可以找一个周末的下午，一边看，一边照做，一个下午就把书看完，这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。 </div>
<h2>Java架构师之路 <a name="1470" href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#top"><img alt="Top" src="http://www.javaeye.com/images/wiki/top.gif?1229402183" /></a> </h2>
<div class="content">到这个阶段，你应该已经非常娴熟的运用Java编程，而且有了一个良好的编程思路和习惯了，但是你可能还缺乏对应用软件整体架构的把握，现在就是你迈向架构师的第一步。 <br />
<br />
<strong><span style="font-size: medium">1、《Expert One-on-One J2EE Design and Development》</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1501574.jpg" /> <br />
这本书是Rod Johnson的成名著作，非常经典，从这本书中的代码诞生了springframework。但是好像这本书没有中译本。 <br />
<br />
<strong><span style="font-size: medium">2、《Expert One-on-One J2EE Development without EJB》</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1496227.jpg" /> <br />
这本书由gigix组织翻译，多位业界专家参与，虽然署名译者是JavaEye，其实JavaEye出力不多，实在是忝居译者之名。 <br />
<br />
以上两本书都是Rod Johnson的经典名著，Java架构师的必读书籍。在我所推荐的这些书籍当中，是我看过的最仔细，最认真的书，我当时读这本书几乎是废寝忘食的一气读完的，有小时候挑灯夜读金庸武侠小说的劲头，书中所讲内容和自己的经验知识一一印证，又被无比精辟的总结出来，读完这本书以后，我有种被打通经脉，功力爆增的感觉。 <br />
<br />
但是后来我看过一些其他人的评价，似乎阅读体验并没有我那么high，也许是因为每个人的知识积累和经验不同导致的。我那个时候刚好是经验知识积累已经足够丰富，但是还没有系统的整理成型，让这本书一梳理，立刻形成完整的知识体系了。 <br />
<br />
<strong><span style="font-size: medium">3、《企业应用架构模式》</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1607804.jpg" /> <br />
Martin的又一本名著，但这本书我只是泛泛的看了一遍，并没有仔细看。这本书似乎更适合做框架的人去看，例如如果你打算自己写一个ORM的话，这本书是一定要看的。但是做应用的人，不看貌似也无所谓，但是如果有空，我还是推荐认真看看，会让你知道框架为什么要这样设计，这样你的层次可以晋升到框架设计者的角度去思考问题。Martin的书我向来都是推崇，但是从来都没有像Rod Johnson的书那样非常认真去看。 <br />
<br />
<strong><span style="font-size: medium">4、《敏捷软件开发 原则、模式与实践》</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1671095.jpg" /> <br />
Uncle Bob的名著，敏捷的经典名著，这本书比较特别，与其说是讲软件开发过程的书，不如说讲软件架构的书，本书用了很大篇幅讲各种面向对象软件开发的各种模式，个人以为看了这本书，就不必看GoF的《设计模式》了。 <br />
<br />
<br />
</div>
<h2>软件开发过程 <a name="1471" href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#top"><img alt="Top" src="http://www.javaeye.com/images/wiki/top.gif?1229402183" /></a> </h2>
<div class="content">了解软件开发过程不单纯是提高程序员个人的良好编程习惯，也是增强团队协作的基础。 <br />
<br />
<strong><span style="font-size: medium">1、《UML精粹》</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1648691.jpg" /> <br />
UML其实和软件开发过程没有什么必然联系，却是软件团队协作沟通，撰写软件文档需要的工具。但是UML真正实用的图不多，看看这本书已经足够了，完全没有必要去啃《UML用户指南》之类的东西。要提醒大家的是，这本书的中译本翻译的非常之烂，建议有条件的看英文原版。 <br />
<br />
<strong><span style="font-size: medium">2、《解析极限编程 拥抱变化》XP</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s2008432.jpg" /> <br />
这是Kent Beck名著的第二版，中英文对照。没什么好说的，必读书籍。 <br />
<br />
<strong><span style="font-size: medium">3、《统一软件开发过程》UP</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1843342.jpg" /> <br />
其实UP和敏捷并不一定冲突，UP也非常强调迭代，测试，但是UP强调的文档和过程驱动却是敏捷所不取的。不管怎么说，UP值得你去读，毕竟在中国真正接受敏捷的企业很少，你还是需要用UP来武装一下自己的，哪怕是披着UP的XP。 <br />
<br />
<strong><span style="font-size: medium">4、《敏捷建模》AM</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1264986.jpg" /> <br />
Scott Ambler的名著，这本书非常的progmatic，告诉你怎么既敏捷又UP，把敏捷和UP统一起来了，又提出了很多progmatic的建议和做法。你可以把《解析极限编程 拥抱变化》、《统一软件开发过程》和《敏捷建模》这三本书放在一起读，看XP和UP的不同点，再看AM是怎么统一XP和UP的，把这三种理论融为一炉，形成自己的理论体系，那么你也可以去写书了。 <br />
<br />
<br />
</div>
<h2>软件项目管理 <a name="1472" href="http://www.javaeye.com/wiki/Java_Newbie/945-java-programmers-recommendation-books#top"><img alt="Top" src="http://www.javaeye.com/images/wiki/top.gif?1229402183" /></a> </h2>
<div class="content">如果你突然被领导提拔为项目经理，而你完全没有项目管理经验，你肯定会心里没底；如果你觉得自己管理项目不善，很想改善你的项目管理能力，那么去考PMP肯定是远水不解近渴的。 <br />
<br />
<strong><span style="font-size: medium">1、《快速软件开发》</span></strong> <br />
<br />
<img alt="" src="http://www.douban.com/lpic/s1696681.jpg" /> <br />
这也是一本名著。可以这样说，有本书在手，你就有了一个项目管理的高级参谋给你出谋划策，再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的，在实际的项目管理中，讲这些理论是不解决问题的，这本书有点类似于&#8220;软件项目点子大全&#8221;之类的东西，列举了种种软件项目当中面临的各种问题，以及应该如何解决问题的点子，你只需要稍加变通，找方抓药就行了。 <br />
<br />
来源：http://www.blogjava.net/sailor/articles/258363.html<br />
</div>
<img src ="http://www.blogjava.net/sailor/aggbug/258363.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sailor/" target="_blank">sailor</a> 2009-03-07 14:19 <a href="http://www.blogjava.net/sailor/articles/258363.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>