posts - 7, comments - 0, trackbacks - 0, articles - 2
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

java推荐

Posted on 2011-06-29 16:20 鲨鱼的微笑 阅读(149) 评论(0)  编辑  收藏
1. 什么是好书
经常听到或者在网上看到很多人在评论某本书很好或者很烂,很多人也把这些评论当作买与不买的依据。
据我所见,枪手的赞美之词其实并不常见。而那种只言片语的负面评价却经常可以看到,在这些负面评价中,我也经常会看到一些其实很不错的书被毫无建设性的漫骂。
分析一下评价书不够好的原因,有以下几种
一种是书真的不好,多数都是抄袭和错误引导的那种,国内作者的比较多见。
一种是觉得以他的水平觉得这书没用。这样的评论其实就是不够实事求是。不同水平不同风格的人适应的书不同,一本书可能技术含量不高,但是对于特定人群来讲绝对是一本好书。
一种是觉得翻译得不好。其实有的书还不至于特别的不堪就被人骂得狗血喷头了,我想说的是钻这种牛角尖完全没有必要,只要大致上意思能够理解就OK了,既然 能看出来是错了,那么也就说明能够理解。有能力看英文原版的人毕竟不多,尽管技术书籍还是比较容易看懂,但有的英文原版看起来也的确很费力。 特别是那种内容够好,但是翻译不好(说实话,翻得特别不好的书并不多)的书,需要自己去组织一下,考验阅读理解能力和技术基础知识的时候到了。
一种是看见特定作译者,出版社就骂的。可是就算是沙里淘金也可能有闪光的,不负责任的评论是不应该的。
最差劲的一种是实际上是因为自己的能力不足以看懂书的内容,却说书不好。

其实选书如小马过河,适合的就是好的。不同的背景,不同的需要,应该有不同的选择。比如什么都不会的时候,突然要做项目,这种时候如果去看那种从原理讲起的,岂不是不合时宜。但如果时间比较从容,看看原理才会真正掌握一项技术。

2. 中文书还是外文书
中文书有两种,一种是国内的人写的,一种是翻译的。
先说国内的人写的。早期国内书籍水平普遍比较低,基本上是一群自己也没弄懂的人随便找点资料粘贴出来的。
现在这种情况已经大有改观了,不是说那种粘贴的书少了,而是的确有很多优秀的开发人员写出了一些很好的书。

再有就是翻译的书。绝大部分被翻译到国内的书本身都是相当不错的书,可是由于翻译人员水平的问题,或者根本不是做技术的人,或者那种老学究非得翻译得与众 不同,翻译过的书大部分都会比原文失色一些。但是由于母语和英语在阅读速度上的巨大差异,容忍这点失色绝大多数情况下都是值得的。何况,技术书籍又不是文 学作品,死扣字眼没什么意义。

再说外文书。实际上技术书籍一般来说阅读起来多数都不会很吃力,尤其是在你有了一定的背景知识之后。但是确实还是有一些作者写出来东西比较难理解,不是说 老外就都擅长写作的。一般来说,如果有中文版本,我都会看中文版的,没有中文版又实在想看的才去看英文版。在新的术语比较多的情况下,最好要中英文参照着 看,这样才能理解中文术语对应的英文术语。在中文版理解起来有疑问的情况下,也可以去参照一下英文版。不鼓励在没有积累足够的术语基础的情况下直接去读英 文版。

3. 超越书籍
软件开发是一门实践性的工作。所谓 纸上得来终觉浅,绝知此事需躬行。只看书不实践也是白费。
真正的高手看书很少,注意可不是很少看书。他们把更多的时间用在写代码、读代码和读specification上。我又懒又笨,所以看了很多。
以前在CSDN上看到一个帖子,有人感觉学得很努力但是进步很小,另一个人回复说“你还缺乏把代码反复修改一百遍的勇气”。
深以为然。不要总急着学新东西,要先把手头的知识吃透。

-------------------------------------



书名
"21天学通Java2(第二版)
21天学通Java 2(第3版)"

"如果你是一个初学者,想做一个快速而系统的Java入门,那么我推荐看这本书。
如果你还没有系统的看过任何一本J2SE的书,比如下面列出的几种,也不打算以后去看那么厚的书,那么也推荐看看这本书。
这本书本身内容上并没有特别出彩的地方,但是难得用这么短的篇幅覆盖了常用Java技术的知识点,非常系统而且比较容易上手。
这本书市面上有两个版本,第2版和第3版。对于入门来说,我更倾向于相对简单的第2版。第3版适当增加了一些Web开发方面的技术,有点鸡肋的感觉,不过对于初学者来说,多点见识也不错。"

----


"Java 2核心技术(第6版) 卷I:基础知识
最新 Java 2 核心技术 卷II:高级性能(V1.3)5E
JAVA 2核心技术 卷I:基础知识(原书第7版)
JAVA 2核心技术 卷II:高级特性(原书第7版)"

评价:"我的第一本Java书籍就是本书的第4版。
如果只能选择一本Java基础编程书籍的话,那么毫无疑问应该是core java。这本书值得一行一行的去读。
不过这本书往往把一些很重要的话隐藏在字里行间,不仔细阅读的话,一不小心就会漏掉很有价值的话,或者你在刚开始的时候压根就没有能力意识到它的价值。

现在市场上可以见到卷一的第6版,卷2的第5版,以及第7版的卷一卷二。
如果做入门学习,推荐看第6版的卷一,因为第7版是基于Java5的,Java5由于引入了泛型和自动装箱等能力,容易使初学者把关注点偏离Java语言 的核心能力,我一向认为对初入门者,信息一定要精干,不必要的复杂信息最好藏起来。如果已经对Java很熟练了,或者在面向对象编程方面已经有比较深的认 识的话,那么拥有一套第7版是应该的。"


--------------------------------------

Java程序设计教程(第五版)

"如果你对java核心技术那种四平八稳的理论叙述感到无所适从的话,那么这本奶妈一样的Java书籍可能是一个适合你的选择。虽然我本人非常不喜欢这种 过于细腻的风格,但是也不得不承认这是一本足够优秀的教材。在培养面向对象的思维方面是这本书比较突出的特点。做为大学生学习更适合一些,想要自己往快了 跑的人看这书怕是要急死。
"


-------------------------------------
Java 2教程(第六版)

如果你实在觉得Core Java的GUI部分是在浪费钱财,同时象我一样不喜欢Java程序设计教程这本书,那么这本书应该是你的选择了。这本书以合理的厚度,合理的详略程度讲解了合理分量的Java技术点。可以认为是21天学通Java2的火力加强版。

-------------------------------------
Java语言程序设计(原书第3版)
"这本书难得是个华人写的(虽然是用英语写然后再由国内的人翻译过来),放在这里支持一下。
总体来说,相对于上面的书,定位比较尴尬。
在个别地方还是有其他书没有直接覆盖到的独特的亮色。可以泛读。"
--------------------------------------

"java编程思想(第二版)
java编程思想(第三版)"

"这是一本很有意思的书。
它是入门的书吗?是的,如果你的计算机科学基础知识还算OK的话。不是,如果你压根就没有其他任何面向对象语言(直接说吧最好就是C++)编程的足够经验的话。

它算是一本系统的讲述Java的书吗?勉强吧。或者基本上不算。它以一种神出鬼没式的方式带你进入Java语言的世界,然后近似于随机的选择一些中国旅游景点用英文介绍给你听。

那为什么这么多人说它是一本好书?因为说它好的人在看这本书之前,计算机基础知识和某一门面向对象的语言(最好是C++)已经相当的OK了,它能够以一种最接近C++程序员口味的方式把C++程序员迅速领入Java语言的世界,那个时代可是C++程序员的天下啊。

那么,它不算好书喽?不,它对于厘清初学Java的人很多重要观念上的帮助是非常非常大的。而且,与java核心技术不同,它明确的把作为一个合格的 java程序员最最应该弄透的知识点以直接了当的方式提出来,有利于分辨。因此,你至少应该在某个合适的时候读上一两遍。

据说看完这本书就算高手了,是吗?有可能,如果你能不断的把学到的 东西运用到代码里去的话。否则也就是java基础理论合格,部分过于合格,呵呵。
理论终归只是理论,实践中还有很多的技巧,下面的书才是成长为编码高手的踏脚石。

现在市面上有第二版和第三版,看哪个好呢?
第二版是侯捷翻译的,无数侯fans说好,有人因此专找第二版,对此我持保留意见。我认为,作为面向大陆的译本,不能在术语上尊重大陆习惯,就是不尊重大陆的读者。第二版和第三版在一些我认为无所谓的内容上各有取舍,自己看实际和习惯选吧,反正最核心的东西都在。
不过,关于Exception的使用,作者在第3版对之前的想法做了一个否定,这一段值得单独看看。最好能参照他以前的想法看(这个我比较倾向看第一版,找不到的话就第二版吧)"

--------------------------------------------

成为优秀的J2SE开发人员

书名
JUNIT in Action中文版
不看此书,不可能成为合格的开发人员。当然你可能不能一下子接受所有的内容,随着能力的提高慢慢学吧。

Effective Java中文版
除非你在编程方面极有天赋,或者你宁愿去钻研很多的优秀代码,没看过这本书的人要想成为一个优秀的J2SE开发人员简直不可想象。我承认这话可能有点过分,那就过分吧。

Practical Java(中文版)
OK,如果你能很轻松的理解Effective Java并且心有戚戚焉, 那就没有必要看这本书了。如果不是这样, 先把这本书看明白了再说。

高质量 Java 程序设计
"虽然这本书的作者里比较恶心的挂了一个无谓的林锐,虽然作者是两个年轻的中国人。但是这本书的内容绝对不会让人失望。如果说上面两本书从老外程序员深厚 的开发基础的角度提出了一些有效的实践,那么这本书则从年轻的中国程序员的角度给出了很多相当到位而有深度的讲解。当然,全书的选材角度可能不太一致,深 浅不一,但这丝毫不影响它的精彩。
可惜,由于乏人喝彩,这本书目前已经绝版了。"


"Java Pitfalls
More Java Pitfalls中文版"

"如果说effective java目标是让你成长为卓越,那么这两本书的实际功用应该是让你少犯迷糊。
这两本书看了就是为了长见识,毕竟自己编程没那么多,那么多看看别人可能出的问题也就相当于自己编了很多程序。"



JAVA解惑

"Effective Java的作者写的书,刚刚出版。
我还没来得急仔细看,可是随手翻了几个故事,发现自己的Java算是白学了:(
谈不上很实用,但是对于了解Java语言规范很有帮助。"


JAVA实例技术手册
"如果你觉得上面的书过于理论化,对你来说太抽象,或者,你觉得很闲,学习没有方向感。那就照着这本书一个实例一个实例的做下去吧。
"

javaalmanac.com
"都是很小的一些代码片断,用于展示java API的实例用法。
你一定要把它放在收藏夹里,做为编码的参考。
我曾经有一本印刷版的<Java Developers ALMANAC 中文版>,可惜不知道弄到哪里去了:("

透彻理解J2SE

书名
深入Java虚拟机(原书第2版)
虽然看这个其实并不能让你成为编码上的高手,但是有了这个基础,你再次回头去看以前看过的书籍,会发现你的认识会上一个台阶,很多以前难以理解的问题迎刃而解。


JVM Specification
这个不是书籍,而是Sun的文档。如果你放着上面讲解透彻,比较容易理解的中文书不想看,那么就看看这个原滋原味的吧


Java Language Specication
这个不是书籍,而是Sun的文档。不管能看明白多少,至少是一定要看的,而且要和JVM Specification参照着看


Tuning Garbage Collection with the 1.3.1 Java Virtual Machine
这个不是书籍,而是Sun的文档。如果你没有运气看过《高质量 Java 程序设计》,那么看看这个文档自己弥补一点算一点吧。


其他J2SE话题

"关于J2SE还有一些对于企业应用开发来说(尤其是现在web开发甚嚣尘上的年代)相对冷僻一点的话题。
在上面也没有列出一本关于Java GUI的专门的书。除了我本人在GUI开发上的实际经验近乎于0的因素之外。
一方面还是因为Java核心技术,甚至其它一些GUI内容更少的书中的内容已经基本上能应付一般的开发需要了。
另一方面,关于GUI成系统的书少得可怜,曾经有一套相当权威的Java图形技术,不过已经绝版了。
这里列出来仅供参考。"


Java线程编程
简单看过一些,很不错的书,大概入门到中级的水准。

Java多线程设计模式
"真是一本好书啊,以前在各处看到的多线程程序写法在这里得到了集中讲解。
不过由于这方面的编程经验比较少,很多东西看过就忘了。"

Java网络编程
没看过,不过看目录不错的样子,O'relly的书基本上质量也是有保障的。

Java网络编程技术内幕
"书真是好书啊,可惜基于的Java版本太老了点,即使看这书也别照着学。
不过原始自有原始的用处,越原始的东西越接近底层原理。"

深入Java 2平台安全--体系架构、API设计和实现(第二版)
Sun中国研究院院长的著作。曾经企图看这书,可是我在java安全模型上的认识还差得太远,加上这书写得比较晦涩,怎么也看不进去,放弃。


----------------
J2EE之Web开发

Web开发基础

书名
循序渐进HTML与XHTML教程
HTML是Web开发的绝对基础知识。看这种书的主要目的是打好HTML的基础,很多做了很长时间web开发的人其实压根都没系统的看过HTML的书。市面上很难找到HTML系统全面的书,没办法,这本还算相当的凑合了。

CSS的书
关于CSS的书,国内市场上没有能令人满意的。很久以前有过一本CSS权威指南,学术味太浓了,现在也绝版了。不过关于CSS的书,日本有很多非常不错的书。

任何javascript的入门书
通过野路子也能学会基本的javascript用法。低水平应用多数情况下也够用了。但还是建议看看书吧。不过javascript的入门到中级的书真是 五花八门,成系统的少之又少,大多数都是奇技淫巧,自己挑能看懂的乱看吧,因为除了下面要介绍的两本书,其他的都远不够系统。

WEB设计技术手册
"各种关于Web开发的其他一些零乱的知识可以从这里学到,想从别的地方学到还真不太容易。
自己挑着不知道的东西看吧。"

Dreamwaver MX互动网页圣经
通过Dreamwaver你可以快速学习到很多HTML和CSS的规范用法。建议掌握。这里列这本书,只不过是因为我恰好看到了它,内容还算合格,厚薄也还合理。

WEBMASTER技术手册
"你可以把这本书做为一个checklist,看看你的web开发基础是否合格。
这本书系统的涉及了做为一个web开发人员所应掌握的基础知识。"

Web开发进阶

书名
Javascript宝典
"我知道有一些人对XX宝典呲之以鼻,认为没有技术含量。但是,我发现做为开发人员,最需要放在手边的那种书还真的就是宝典系列。
如果你想快速准确系统的掌握javascript语言,舍此书无它。"

Javascript权威指南
"对于真正的Javascript语言的核心,除本书之外,我没在其他任何书里看到过。
不看此书,不可能成为高手。"

MSDN web开发部分
"这个不是书。坦白说我也从来都没有系统的看全过。
由于微软对DHTML,CSS,JScript都有很多独到的创新,除了这里,其他地方是学不到的。"

Mozilla的web开发人员指南
"首先,火狐异军突起,要加以重视。其次,在对于很多标准的支持上,火狐比IE要合格得多。
这个站点汇集了所有必要的正规规范。不看这里,会导致把IE的土匪路子误认为是正规军 - 尽管得承认,那些野路子在很多时候真的是贴心啊。"

apache server2.0技术参考大全
"理解web服务器背后的秘密,会对理解web开发中的一些东西有很大的助益。Apache server几乎就是webserver的代名词,它的配置风格几乎是其他werbserver的标准模版。理解了Apache,也就理解了绝大多数的webserver。
我接触apache时看的是配置1.0的书,那书已经绝版, 再说早已经是apach2.0的时代,只能看这个了。
不过我还是那种观点,旧版的往往更适合入门。1.X版的配置方式虽然比较零乱,但是胜在功能少,简单,学习起来也容易。"


Servlet与JSP Web开发基础
"在这里我陷入一个困境,因为我发现自己无法推荐一本单一的书既能够满足那些渴望快速掌握JSP的人的迫切愿望,又能消除我对由此而导致的不求甚解的担心。
同时,在学习的顺序问题上也存在问题。既然是多本书,是应该一本接一本的看?还是同时看?不同的人可能会有不同的选择。
大体上来讲,我个人比较喜欢把不同的书放在一起比较着看,这样我能够迅速的完成既能入门干活,又能初步掌握原理的任务。
其实多本书参照还有一个好处是,一旦一本书出现错误,立刻就可以用另一本的知识加以纠正。
我在初学JSP的时候,同时在看5本书,三本讲JSP的,一本讲Servlet的,一本讲Servlet&JSP,几乎囊括了当时市面上所有相关的书,呵呵。
还有一点要提醒,由于JSP和Servlet发展迅速,不同版本间的某些语法并不一致,好在初学者接触到这些不一致的地方比较少。
问题比较多而又容易碰到的地方一个是在taglib,包括JSTL部分,一个是配置文件部分。
这里提醒大家,如果书中使用哪个版本的服务器,千万不要自做主张使用更新版本的(尤其是Tomcat)。
从网上找到的代码啥的也不一定能在哪个服务器上都没有错误。"



书名

jsp应用开发详解(第二版)
"一般这样的快速入门书籍,国内作者的都是首选,他们实在是太了解我们的心态了。
但是我仍然找不出一本足够精要并且能迅速上手干活的书。太多的初学者喜欢大量的实例,尤其是所谓完整的实例。最好还加上非常流行的struts啥的。为了活路,我们的作者也不得不把这些东西弄进去。
万般无奈,就这本吧,上手还是不错的,实战性也比较强。后面struts啥的,先别看了。
但是我听过若干人说,学会这本书,JSP就不用看别的了,我晕。"

jsp应用开发技术
"也是一本相当不错的JSP入门书,还给出了JSP开发人员的学习路径,不知道为什么关注的人比较少,可能是不如<jsp应用开发详解>厚吧:(。
太多人想一生只买一本书了。 不过我入门喜欢薄的。
关于里面struts啥的内容,同上,先别看了。"

jsp2.0技术手册
"相对于上两本的大杂烩,这本书能干净一些,是那种我喜欢的入门书风格,作者是两个台湾同胞,行文也是不少台湾书籍那种平易近人的风格。
我曾经以为终于发现了一本JSP的终极入门书籍,可是仔细翻阅之后还是很犹豫。
这两个作者是经验相对来说并不足够了(其中一个号称SUN的讲师,估计是挂羊头卖狗肉),却偏偏喜欢下结论式的写作,尽管我也认为对于入门者来说,稍稍接受一些略有偏差的错误结论并没有多大害处,但仍然害怕有人因此而受到误导,谁让一生只买一本书的人太多呢。
如果不是因为这个原因,我其实更推荐使用这本书入门,只是有个前提,你只要照着书里的进度学用法就是了,千万别把结论当真。"

servlet与jsp核心编程
"不学Servlet不可能真正懂JSP。可惜,在这个浮躁的年代,谁还管那个。尤其是在类似于Struts之类框架流行的时代,写servlet的机会已经微乎其微了。
但是的但是啊,如果不学会Servlet,那么可以说除了会用JSP(实际上也就是HTML)写一些界面之外,你不大可能在Java web开发上更进一步了。"

SCWCD认证专家应考指南
"首先,这本书相当于提供了一份checklist,列出了做为一个Java web developer所应该掌握的基本知识。
其次,这本书写得非常平易近人,通过很多实验来引导读者。
不过,由于这本书完成得比较早了,最新的JSP2.0和Servlet2.4的内容并没有包含在内。好在所谓的新特性只要做一点简单的增量学习就可以了,如果你真正掌握了这本书的知识的话,学习那些新特性应该花费不到1天的时间就够了。"

servlet与jsp权威指南
servlet与jsp核心编程作者的又一本好书。 可惜内容上与servlet与jsp核心编程稍有些重叠。但是这本书里已经开始涉及一些高级主题。可以用做学习<SCWCD认证专家应考指 南>时的参考书,毕竟应考指南那本书很多内容由于篇幅的限制,远远谈不上深入。

Servlet与JSP Web开发进阶
"其实,如果你已经真正掌握了上面的基础,那么到了这个阶段,应该有能力自己选书了。
而这些书能真正带给你新知识的机会也很少了,这些书籍能带给你的就是实践上的东西了。
或者,如果你还没有真正掌握上面的基础的话,这里再给一个实践的机会。
坦白说,这里列出的书,大部分我都没有仔细看过,仅供参考。"



书名
jsp设计
没看过,看目录应该还不错,不过没有能引起我兴趣的新东西。

jsp高级程序设计
刚出版不久,还没时间看,看目录其内容已经超越了单纯的JSP或者压根不是讲JSP的,有时间要看看。

java servlet & jsp经典实例
"那些不喜欢理论而喜欢敲代码的人可能更喜欢这样完全用实例说话的书。
O'relly出版,基本上就是质量的保证。
如果你觉得很闲,学习没有方向感。那就照着这本书一个实例一个实例的做下去吧。"

Java Web开发详解
大致翻了一下,出发点很好,期望通过一本书逼迫程序员掌握web开发应有的知识,可是一上来先讲XML,对初学者有点太难,而要靠一本书达到真正的精通那是不可能的。

JSP 编程指南(第三版)
简单翻了一下,发现对于Taglib的讲解明显强于其他书籍,有些内容是我以前还没有掌握的。

java servlet2.3编程指南
没看过,供参考。

Servlet Specification
Sun的文档。所有开发web container的人都必须参照的根本性宪法。理论上来说,凡是specification规定的,厂商必须实现,没有规定的,可以有一定程度上的发 挥。不过实际上,还是有些厂商在某些规定的地方做了一些灵活处理,我所知道的一些地方都是方便开发人员了。

JSP Specification
跟上面servlet的一样,不过这个的重要性就低多了,Web container的灵魂是servlet。

关于Encoding的东西
没有这方面的系统的书籍可以推荐,如果谁知道有这样的书请告诉我。我的这方面的知识来源于多本书籍的片断和网络。但它是如此的重要,合格的web开发人员必须掌握。

关于HTTP,Cookie,URL等的RFC
RFC相当于这些东西的specification。

Servlet与JSP Web表示层开发框架

"Web表示层开发框架有无数种,但是其中最成功的毫无疑问是Struts。
首先无论如何请先明确一点,Struts之类的仅仅是整个系统中表示层的框架而已。
除了Struts之外的表示层框架,都没混到能单独出书的地位,在下面<Tomcat Web开发及整合应用>的书中, 介绍了另一种表示层框架,WebWork,这可是下一代Struts的核心啊,难道你不想现在就看看么? 至于另一个比较有前途的新框架Spring MVC,留到与Spring这个真正的覆盖全系统的框架一起学习吧。"


书名
精通struts
"这本孙卫琴MM写的书真的是集万千优点于一身,既适合入门又适合提高,思路还非常符合国人的特点,孙MM的文字组织功力真不是盖的,一本本来相对比较生 涩的<Struts in Action>被重新组织后,变得如此亲切可人。借struts的热度,难怪大卖特卖。
如果说对于那些上面的基础还没打好的人学习Struts,并且想一生只买一本书的话,就是它了。"

JAKARTA STRUTS编程(第二版)
"对于上面的Web开发基础相当牢靠的人来说,这本书才是真正的好书。
如果说<精通struts>能让你迅速学会用Struts开发,那么这本书则能够直接了当的告诉你如何按照架构的思维去理解Struts。叫做Thinking in Struts也许更能反映这种直接了当的方式。"

实战struts
"它绝对会成为一本畅销书,如果没有孙卫琴MM的大量借鉴之作<精通struts>面世的话。
这本书的路数介于上面两本之间,本来应该成为入门到精通的首选。可惜现在也只好拿来看看还有哪些东西剩下没被借鉴了。"

Struts Web设计与开发大全
"没看内容。不理解明明有孙MM的书在泰山压顶了,为什么它还要来趟这趟浑水。估计所有Struts的书加在一起也不会比孙MM的书卖得多。实际上我都怀疑,国内作者出版的计算机书加起来都不会比孙MM的书卖得多。
也许这本书的与其它组件整合的部分能带来一些亮色,那些喜欢实例的人会给点面子。"

用Tomcat学web开发
"实际上前面的很多书都应该已经用过tomcat了,而这里的两本书也不是单纯的讲tomcat,实际上包含了很多web开发的内容。
因此什么时候使用这两本书还真是个问题。
理论上来说,单纯的使用这两本书来学会web开发也是可能的,但我并不认为这是个好主意。在有限的篇幅内塞入过多的内容必然导致每一样都不深不透,学的人也不过是囫囵吞枣而已。
不过由于很多书使用tomcat做为服务器,而本身对tomcat介绍很少,在学习过程中可能会遇到一些困难,那么备一本这样的书参考也不错。"




书名
Tomcat与java web开发技术详解
"好像是孙卫琴MM的第一本著作。在这本书中孙MM就展现出了超人一等的写作功力和裁减能力。她比较好的把握了众多内容的分量。同时也注意了tomcat本身的一些东西。
这本书销量也很好,如果没有下面的新书,那么关于tomcat的书,这本是无敌的。"

Tomcat Web开发及整合应用
"整体结构的组织上借鉴了上面孙MM的书,嘿嘿,孙MM也被如此借鉴了一把,不知做何感想。
对比孙MM的书,这本书不但大大加强了tomcat的配置部分,还添加了很多内容,文字组织也非常出色,除了价格因素和购买惯性,我看不出孙MM的书的优势了。
我在翻这本书的时候,发现自己在一篇已经被网上广泛转载的文章里的一个结论是错的,是因为我对tomcat的能力还不够了解。虽然我并没有对那个结论拍胸脯,但是上帝保佑看到我那篇文章的人能够有机会看到这本书,不要再受误导。"

成为有效率的开发者



书名
使用ANT进行JAVA开发
"这是一本关于ANT的书,又不仅是一本关于ANT的书。
我像推荐JUNIT IN Action一样推荐这本书。
一个合格的开发团队可能不采用其中的一些技术,但如果压根都不知道这些技术,那就说不过去了。"

Ant极限编程
"在没有上面那本书之前,这是我能找到的最好的ANT书了。
我从里面学到了很多很有用而直接了当的ANT技巧,实战性很强。
看着这本书,参照上面那本,相信进步会更快。"

精通Eclipse
"如果你在使用Eclipse,如果你没仔细研究过Eclipse的帮助,并且不打算费力去研究,
这本书是你必看的。"

Eclipse精要与高级开发技术


J2EE之JDBC
"现在的年代,直接用JDBC API已经不太合时宜了,但是不了解底层,怎么能真正了解上层呢?
列出两本书,供参考。"



书名
JDBC API教程与参考手册
"唯一一本定位于JDBC API的书籍。内容极其全面,甚至涵盖到了JDBC3.0。
我自己也没读呢,呵呵。"

Java数据编程指南
在没有上面这本书的时代,这是讲JDBC最多的书了,不过内容不够专精,JDBC之外的东西太多,而且翻译质量不好,最多可以泛读参考。



J2EE之XML


书名
深入浅出XML
"绝对是我心目中那种够薄、够用的顶级入门好书。中国人自己写的好书。
内容干练,质量上乘。很有O'relly图书的风范。偶们书店有本非卖品存货。"

XML示例程序导学
"既然上一本书已绝版。选这本书入门也很不错。
也符合够薄,够用的原则。"

XML揭秘-入门应用精通
"我就是用这本书学习的XML,做为入门书不算好书,只是个勉强及格。
但是对于学习整个XML家族还是很有指导意义的。"

XML从入门到精通
没看过。因为上一本书已绝版,只能是这本书承担起系统学习XML的责任了,也许比上面那本书还要好呢。

XSLT从入门到精通
XSL高级编程
没看过。因为实际开发中XSL的机会本来就不多。从其他XML书籍中学到的基本上够用了。

J2EE之J2EE

书名
精通EJB
"这本书其实是我在已经掌握了EJB之后才看的。也因此才能体会到它的精彩。我看的是第二版的中文版,在看的过程中还特意参照了一下第一版的英文版(没有 中文版),通过这种参照,可以解到EJB技术的变化,以及作者本人思路的变化。现在最新版本是第三版,把它与第二版对比一下,看看关注点发生了哪些变化, 也很有趣。
做为透彻理解EJB本身来说,这是一本相当好的书。但是它把核心完全放在EJB上而彻底忽视EJB支撑技术的做法实在让人不可理解。我在看此书的时候就一直庆幸没有用它做为J2EE的上手书籍。"

EJB2.0企业级应用程序开发
我当初在学习J2EE时的参考书之一。比较系统的涉及了EJB的支撑技术,和很多关键技术点。很多要点非常重要。

J2EE技术内幕
我当初在学习J2EE时的参考书之一。比较系统的涉及了EJB的支撑技术,和很多关键技术点。很多要点非常重要。

J2EE服务器端高级编程
"如果做J2EE开发,只能买一本书,那绝对是这本书。
实际上我的EJB上手就是从这本书开始的。我在书店浏览几乎所有EJB书籍的时候,所有其他书籍关于EJB的定义都足有3-4行那么长,只有这本书说-EJB就是一个类,两个接口和一个描述符。我毫不犹豫的买下了这本厚达1300多页的书。
如果你以为全书都是这么简洁明了,那就错了,该书全书作者多达近20人,覆盖了当时J2EE几乎所有领域,几乎每个领域的主题都达到了一个相当的深度,这真是一本不可思议的书。
这本书绝对不能算入门书,但是其中一些主题讲解的透彻程度比之专门的书还要到位,几乎你在开发中需要知道的细节他都写到了,真不愧是程序员写给程序员(P2P)的书。
然而看懂这本书可不是一件容易的事。先不提翻译的问题,凭着咱深厚的阅读理解猜测容错能力,基本上可以应付。光是五花八门的运行环境和过于陡入云霄的深入主题就够让人望而止步了。
可以拿它做为一个标杆,随时检查一下还有多少东西看不懂,然后努力学习,呵呵。
偶们书店有本非卖品存货。"

J2EE开发使用手册
我没细看内容,大致翻了一下,应该属于勉强过得去的那种。上面的书已绝版,系统的J2EE书籍凤毛麟角,这本是无奈的选择。

J2EE1.4标准教材
这个我也是大致翻了一下,属于勉强都过不去的那种。虽然是Sun官方的Tutorial,全面覆盖了J2EE的所有组件。但是内容也太过简单了啊,谁要是 能用这书学明白J2EE,那学习能力一定是超级强悍。也就是拿它当个checklist,大致了解一下各个J2EE组件的作用了。

EJB Specification
"跟Servlet specification一样。了解底层必看的文档。不过太长了,我始终也没看完。
当然,看这个也可以忽略实体bean的部分。"

其他 specification
我只看过JNDI的。有兴趣的多看吧。

J2EE之应用服务器
"像Tomcat之于web应用一样,J2EE应用服务器是J2EE应用程序的运行环境。
当前三大主流应用服务器是Weblogic,Websphere,和JBoss。
类似于上面的Tomcat的书,你也可以通过讲解应用服务器的书来学习J2EE,实际上,这样更容易上手。
如果我反对这样做的话,那理由也只能是担心由此而来的不求甚解。当然我的建议是准备一本这样的书参考,然后学习理论。
当然,内容上能够用来学习J2EE的,也只有weblogic的那三本。内容都像weblogic server一样亲切可人。"



书名
J2EE应用与BEA Weblogic server(二版)
比较适合上手操作。初学J2EE和weblogic的人建议阅读。

精通BEA Weblogic Server
定位比较混乱,搞不清它到底是想讲开发还是讲管理。内容不错,但是需要有经验的人才能弄明白重点何在。

BEA WebLogic Server 8.1大全
"在weblogic6.1的时代,有一本<weblogic宝典>,那是相当的好啊,到8.1的时候一直在找一本能达到那个水准的8.1的书,一直没有找到。
后来终于有了这本,不过我看的是英文的,这本中文译本没翻过。虽然其内容多数也是从weblogic的文档中来的,但是在组织水平上远远超过 weblogic文档,而且也有相当多文档中没有的内容,看到很多当年自己千辛万苦四处挖掘出来的知识被这么一本书给囊括了,真是心疼花掉的时间啊。现在 能看到这本书的人真幸福。唯一的缺点就是太厚了。"

IBM Websphere studio J2EE应用开发
IBM Websphere应用服务器5.0系统管理
Jboss 4.0标准教材
Jboss管理与开发核心技术(第三版)
翻过一遍。内容相当不错,可惜一直没机会仔细阅读并且实践。


分析与设计之UML
"如果没有大量的开发经验空谈分析与设计,无异于沙地起高楼。
但是做为开发人员,至少应该具有能够阅读设计文档的能力。当前形势下,使用UML表达设计已经是不可逆转的趋势。
不过请记住,UML仅仅是表达设计的一套符号,会UML不代表会设计。
另外,UML发展迅速,且应用时间短,加上UML之前的OMT表示法跟UML非常像,再加上几乎每个大牛都有自己习惯的一套惯用表达法,所以千万不要只看 一本UML的书,或者上一次UML培训课就认为学会了UML。那顶多是理论上的UML,实践中,各种惯用法,加上错误用法,加上一些变态到极点的超高级用 法绝对能把你看晕。说得夸张一点,关于UML的书,类似的东西,能找出3本书画成一样的都难。
虽然我不主张去学去用那些复杂的用法,但是要想保证有能力看懂几乎任意一张图,必须广泛阅读,见识各种不同的用法。"


UML初学者指南
"够薄,够用。其实我已经觉得它讲得太多了。
不过如果再少点的话,就没法出书了,呵呵。"

UML精粹
"本来这本书应该放在上面那本书之上的。
但是翻译让一向宽容的我也不得不愤怒了,如果是给高级的、有比较深厚UML功底的人看,到也罢了,可这是给入门者看的书啊,弄成这个样子,让他们以后怎么看别的书?"

UML with RationalRose
"Step by Step的用RationalRose画UML的书,也可以稍带着学一学UML。 这种方式也很好。
"

UML参考手册 (第2版)
"这绝不是一本入门的书,甚至入门后也不能轻易看懂。
没有UML宝典的年代里,只能看这个超级晦涩的官方参考手册。
当看其它书产生疑惑的时候,搬出它来做个裁判。
当你多次做过这种裁判后,也许你就能明白为什么我会说,理论是理论,实践是实践。"

UML宝典
"当年市面上第一本讲解UML2.0的书籍。也是目前我所见过的讲解UML最系统的书。
更加难得的是,此书不但从理论上深入UML底层(这是其它书籍都没有做到的),而且在UML的实际应用上也给出了相当准确的指导。
没有这本书,相信会有很多UML的学习者要继续在黑暗中摸索。"

其它关于UML的书
主要目的就是为了见识各种各样的用法。
分析设计之能力培养
"一件有趣的事是,一个刚接触分析设计的人和一个已经非常善于分析设计的人差不多都会直接给出代码(或者基于代码的设计),而不是老老实实的按照先分析后设计的路子来。
然而尽管两者从结果上看可能是一致的,但是背后的差异却极其巨大,高手实际上是迅速跨越了分析和设计阶段,基于经验经过了各种初步的权衡给出的结果,重要 的是它是一个可以适应各种复杂程度的、可重复的过程。而初学者这种基于直觉的设计很难被应用在一个稍微复杂一点的场景中。
有个关于参禅的说法,头十年见山是山,见水是水;中十年见山不是山,见水不是水;再十年见山还是山,见水还是水。
关于分析能力的培养,基本上也是要经历这样一个过程。在强制性的经历足够多的分析过程之后才能收放自如的跨越整个分析设计过程。"



UML Java程序设计指南
"这本书在不少的地方有点极端。但是这种极端对于初学者走上正确的方向却是相当的重要。
一个是关于UML的应用。另一个是一个设计案例,这个例子可能会被不少人认为是脑子有病,但实际上这正是一个强制分析的过程,初学分析设计的人一定要学会这种抽象的思维能力。
记得几年前参加一个sun的讲师主持的分析设计的培训,我迅速的给出了一个自以为很得意的设计,然而被评价为走得太快,那时很不忿,觉得这老师也不过而 而。然而在经历了很多的实际磨练之后,终于有一天意识到,那是一种多么重要的训练啊,如果当初谦虚一点就不会走许多的弯路了。"

Enterprise Java with UML中文版
"如果说你实在觉得上一本书有些不够亲切,离你的思维习惯太远,那就先从这本书入手吧。
这本书在任何一方面都应该不会入高手的眼,因为它实在是土得有点掉渣的感觉。
不过它的可贵之处在于,它勇敢的打破了所谓分析设计的神秘感,坚持用一套模式打天下,对于那些对分析设计压根还摸不到方向感的人来说,这本书是一个很好的过渡。"

UML和模式应用
"几年前我在学习分析设计的时候,看了大量的书籍,有很多蒙蒙胧胧的想法,却一直难以把所有的知识形成一个完整清晰的体系,直到看到这本书。虽然我现在已 经并不太认同它的一些观念,主要是越来越死忠RUP的做法。但是对于思维体系完全没有成型的初学者来说,这是一本必看的好书。
本书当前版本是第三版,我看过前两版。但是最近新出的第三版还没看。
推荐大家也是多个版本比较着看,也许你也会体会到作者的成长历程,也许跟你曾经的迷茫很有戚戚然的感觉呢。"

UML应用建模实践过程
"一直很奇怪这本书为什么火不起来,难道就因为作者是个中国人?或者国人理解能力都超强,对于超级繁复的RUP都能轻易理解。
这本书的名字有点迷惑性,实际上这是一本关于过程的书,但是它关于UML的简介部分做为入门也是足够的到位。
当年我正对着RUP这个庞然大物无所适从的时候,这本书问世了,读完之后,一个微型的RUP核心已经了然于胸了。回头再看RUP,直如庖丁解牛,势如破竹。
如果先看这本书,再看上面的<UML和模式应用>,就会有很轻松的感觉,我当年可没这好运气,你们不要错过哦。"

各种系统分析与设计的书
"尽管不少面向对象分析与设计的书其实也都是大师级的手笔,但是在现在看来已经有点史前文明的意味了。
不过我们重在培训自己的思维能力,所以千万不要错过跟随大师思路的机会。"


分析设计之能力进阶
"分析能力和设计能力实际上差不多是两回事。
分析要求很好的抽象能力,而设计则既要求有比较强的抽象能力,也要求有很强的实现能力。
对技术没有足够深入的理解与认识,知识面不够广泛,或者不能够写出很好的代码实现,都是不可能做出真正的设计的。
换句话说,只有一种可选方案的设计不是真正的设计(但只有一种可行的方案是可能的)。"



重构:改善既有代码的设计(中文版)
"Matin Flower写的几乎每一本书都是顶级好书,更绝的是每一本书几乎都是一个独立的领域。
其语言直白干练,直指问题核心。内容则以实战性理论展开,绝无那种空对空的泛泛之谈。
这一本从编码入手,帮助你从简单代码升华到优秀设计。"

敏捷软件开发:原则、模式与实践
"很多开发经验不多的人想学设计模式,都直奔四人帮的那本<设计模式>。
但实际上,第一这会浪费很多时间去理解相对比较生涩的内容。第二以此种方式生硬的学模式很难真正提高设计能力。
设计模式不过是一些面向对象的设计原则加上一些根据具体开发语言的实际技巧而已。这本书正是教给你这些原则,和展示如何在实际的开发中捕捉需要应用模式的场合。
注意,市面上有两本书的名字叫做<敏捷软件开发>,一本是这个,以XP为名,实际上更偏重设计。另一本则是纯粹关于XP的。"

设计模式
"这个名声太大,不用我多废话了。不过我还是要再次规劝一下那些一上来就看这本书的人,先看上面这本《敏捷软件开发:原则、模式与实践 》吧。
其实它最大的贡献是给模式起了个标准名字,这样交流起来可以省却了很多解释的麻烦。
不过在实践中还是有点问题,有些设计实际上完全应用的某个模式的思想,但是在实现上几乎找不到书中对应代码的影子。这有的时候是充分利用了某特定实现语言 的结果。而更多的时候,具体设计也不一定一板一眼的把每个模式的参与者全部单独实现,在发生这样的退化时,有的模式就比较难区分了。"

设计模式精解
如果一定要从《设计模式》开始学习模式,请至少搭配一本这本书吧。无论如何请理解我的苦心:应该理解模式是从实际的需要出发被应用到设计中去的,而不是强行把模式应用到设计上。

Java与模式
"(在美)中国人的作品。虽然在模式上并没有创新之处。但是其闪光之处在于,它鲜明的展示了模式不是僵化的,是有变种的。用这本书展示出来的才是活的模式,代价是言语上稍微有些啰嗦。
像《敏捷软件开发一样》,本书也把面向对象的原则单独提出来做为一个重要部分,深刻理解并掌握这些原则实际上比学那些模式重要一百倍。"


分析设计之架构能力
上面的书提高的是局部设计的能力。下面的书籍则对于系统架构的把握有极大的帮助。


J2EE核心模式
"名气几乎与《设计模式》一样响亮。没的说,必看的书。
我的建议与对《设计模式》一样,要以理解思想为主,不要生搬硬套。"

J2EE设计开发编程指南
"在今天,你可能不知道这本书,但不可能不知道spring framework。
其实就是因为这本书,才诞生了spring。Spring的核心正是这本书思想的集中体现。
这本书的中文版被翻译得简直不是一般的惨不忍睹。像我这种连邱仲潘都忍了n次的超级能容错的人都忍受不了。
可以说,在J2EE的内容不发生重大变化的情况下,几乎所有关于J2EE架构设计需要理解掌握的基本原则,已经全部包含在这里了。"

企业应用架构指南
上面这本是适用于J2EE的,而这一本书则是适用于更加概括的企业开发的。 想一下J2EE的含义正是Java企业开发,这本书实际上在更加抽象的层次上为很多技术做了一个总结。

J2EE without EJB中文版
这本书是《J2EE设计开发编程指南》的作者写的又一本好书。虽然在整体思想上并没有超越《J2EE设计开发编程指南》,但是胜在比它要具体很多,全书围绕spring framework来谈论,也是学习spring framework的重要参考书。

领域驱动设计
"一种正在火热中的设计思维。这种思路已经在<企业应用架构指南>中有所涉及。
我还没有阅读此书,一是还没有时间,二是出于对其实际可行性的怀疑--当然我不是说他不可实现,而是相对于事物脚本的简洁明了,在实际开发中它遇到的困难可能更多。<企业应用架构指南>中对于何时采用这种形式更加有利做了很好的分析。"


火热技术
"这里列出了一些正在火热的Java技术,他们将共同构筑起Java的明天。包括spring, hibernate, swt, ajax(这个不算java之列,但是与web相关)。
你可以直接学习这些新技术,但是请记住所谓的新技术很多时候是基于老技术的,透彻理解老技术才能真正掌握新技术,也会大大缩短掌握新技术的时间。"


精通Hibernate Java对象持久化技术详解
深入浅出Hibernate
Hibernate开发及整合应用大全
精通spring
spring in action 中文版
SPRING框架高级编程
Ajax实战
Ajax 修炼之道
ajax 基础教程
Contributing to Eclipse中文版

需求与用例技术
"这部分放在这里有点不是很合适,只是有人对用例技术比较感兴趣,所以列出来做个参考。
用例技术是被误解误用最多的。我的建议是,请至少要把这里列出来的书全部看完,顺序不分先后,最后那本《特征驱动开发》实际上跟用例关系不大,而是类似于 XP一样的开发方法论,但是我觉得可以供开阔思路用,不要简单的被用例洗脑,与此类似的还有XP方法论中的User Story。
实际上我仍然很不放心,因为还有很多的网上的讨论无法被包含在此列。"

有效需求实践
软件需求
软件需求管理 用例方法
软件需求管理 统一方法
用例建模
用例分析技术
编写有效用例
特征驱动开发方法原理与实践

只有注册用户登录后才能发表评论。


网站导航: