Java学习笔记(1)有事没事得看看的Java技术图书(不断补充中)

转载于:http://blog.csdn.net/cndes/archive/2009/11/03/4762001.aspx

 

作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。首先列举一份比较热门的,也就是大家都在看的。

首先看看哪些书卖得比较多
这是一份来自北京新华书店实际销售榜上的图书,看看再说。


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

Java编程思想-(第4版)
ISBN: 978-7-111-21382-6   出版社: 机械工业   作者: 埃克尔   译者: 陈昊鹏   定价: ¥108元

版次: 2007年6月第1版 印次: 2007年6月第1次印刷   丛书: 计算机科学丛书  


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

21天学通Java-(含DVD光盘一张)
ISBN: 978-7-121-07897-2   出版社: 电子工业   作者: 庞永庆     定价: ¥49.8元

版次: 2009年1月第1版 印次: 2009年1月第1次印刷   ……  


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

Java程序员上班那点事儿
ISBN: 978-7-302-20514-2   出版社: 清华大学   作者: 钟声著     定价: ¥39元

版次: 2009年7月第1版 印次: 2009年7月第1次印刷   ……  


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

Java从入门到精通-(附DVD视频光盘1张)
ISBN: 978-7-302-17884-2   出版社: 清华大学   作者: 李钟尉     定价: ¥59.8元

版次: 2008年9月第1版 印次: 2008年9月第1次印刷   ……  


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

JAVA核心技术-(卷I)(基础知识)(原书第8版)
ISBN: 978-7-111-23950-5   出版社: 机械工业   作者: 昊斯特曼   译者: 叶乃文   定价: ¥98元

版次: 2008年6月第1版 印次: 2008年6月第1次印刷   ……  


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

Effective Java中文版-(第2版)
ISBN: 978-7-111-25583-3   出版社: 机械工业   作者: 本社   译者: 杨春花   定价: ¥52元

版次: 2009年1月第2版 印次: 2009年1月第1次印刷   ……  


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

21天学通Java Web开发-(含DVD光盘1张)
ISBN: 978-7-121-08371-6   出版社: 电子工业   作者: 卜炟等编著     定价: ¥49.8元

版次: 2009年4月第1版 印次: 2009年4月第1次印刷   ……  


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

Java程序员面试宝典
ISBN: 978-7-121-04552-3   出版社: 电子工业   作者: 欧立奇     定价: ¥46元

版次: 2007年8月第1版 印次: 2007年8月第1次印刷   ……  


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

Java/Java EE软件工程师就业求职手册
ISBN: 978-7-115-19478-7   出版社: 人民邮电   作者: 闫术卓编著     定价: ¥45元

版次: 2009年3月第1版 印次: 2009年3月第1次印刷   ……  


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

Java Web开发典型模块大全-附光盘
ISBN: 978-7-115-19597-5   出版社: 人民邮电   作者: 王国辉     定价: ¥89元

版次: 2009年4月第1版 印次: 2009年4月第1次印刷   ……  


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

轻量级Java EE企业应用实战-Struts 2+Spring+Hibernate整合开发-<<轻量级J2EE企业应用实战>>(第二版)
ISBN: 978-7-121-07471-4   出版社: 电子工业   作者: 李刚     定价: ¥89元

版次: 2008年11月第1版 印次: 2008年11月第1次印刷   ……  


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

JAVA核心技术-卷II:高级特性
ISBN: 978-7-111-25611-3   出版社: 机械工业   作者: 霍斯特曼   译者: 陈昊鹏   定价: ¥118元

版次: 2008年12月第1版 印次: 2008年12月第1次印刷   丛书: Sun公司核心技术丛书  


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

Java JDK 6学习笔记-(含光盘)
ISBN: 978-7-302-14995-8   出版社: 清华大学   作者: 林信良     定价: ¥59.9元

版次: 2007年4月第1版 印次: 2007年4月第1次印刷   ……  


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

Java与模式
ISBN: 7-5053-8000-1   出版社: 电子工业       定价: ¥88元

版次: 2002年10月第1版 印次: 2002年10月第1次印刷   丛书: 软件工程研究院  


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

Java Script 权威指南-(第五版)
ISBN: 978-7-111-21632-2   出版社: 机械工业   作者: 弗拉纳根   译者: 李强   定价: ¥109元

版次: 2007年8月第1版 印次: 2007年8月第1次印刷   ……  


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

疯狂Java讲义-(含光盘1张)
ISBN: 978-7-121-06646-7   出版社: 电子工业   作者: 李刚     定价: ¥99元

版次: 2008年10月第1版 印次: 2008年10月第1次印刷   ……  


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

Java实例精通-附光盘
ISBN: 978-7-111-25980-0   出版社: 机械工业   作者: 李相国等编著     定价: ¥59元

版次: 2009年3月第1版 印次: 2009年3月第1次印刷   ……  


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

精通Spring 2.x-企业应用开发详解(含光盘1张)
ISBN: 978-7-121-04793-0   出版社: 电子工业   作者: 陈雄华     定价: ¥79元

版次: 2007年9月第1版 印次: 2007年9月第1次印刷   丛书: JAVA技术大系  


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

Head First Java-(第二版)
ISBN: 978-7-5083-4498-0   出版社: 中国电力   作者: 贝茨   译者: 张然   定价: ¥79元

版次: 2007年2月第1版 印次: 2007年2月第1次印刷   ……  


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

零基础学Java-(附光盘)
ISBN: 978-7-111-23004-5   出版社: 机械工业   作者: 王鹏     定价: ¥59元

版次: 2008年1月第1版 印次: 2008年1月第1次印刷   ……  


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

显而易见,这份名单中,包括了一些比较流行的、容易过时的书籍。销售比较多,表明现在的初学者还是占了多数。毕竟,生命周期足够长,才值得你去购买和收藏。

来自Javaeye的一个推荐
来自一个专业论坛的推荐,也许就有些特色了。以下来自Javaeye.com。

Java编程入门类
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。
1、《Java编程思想》
 
在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。
2、《Agile Java》中文版
 
这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没有翻过,但是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书。
虽然作者自己把这本书定位在入门级别,但我不确定这本书用来入门是不是稍微深了点。

Java编程进阶类
打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。
1、《重构 改善既有代码的设计》
 
这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对你产生影响是潜移默化的。
2、《测试驱动开发 by Example》
 
本书最大特点是很薄,看起来没有什么负担。你可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。

Java架构师之路
到这个阶段,你应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是你可能还缺乏对应用软件整体架构的把握,现在就是你迈向架构师的第一步。
1、《Expert One-on-One J2EE Design and Development》
 
这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。
2、《Expert One-on-One J2EE Development without EJB》
 
这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。
以上两本书都是Rod Johnson的经典名著,Java架构师的必读书籍。在我所推荐的这些书籍当中,是我看过的最仔细,最认真的书,我当时读这本书几乎是废寝忘食的一气读完的,有小时候挑灯夜读金庸武侠小说的劲头,书中所讲内容和自己的经验知识一一印证,又被无比精辟的总结出来,读完这本书以后,我有种被打通经脉,功力爆增的感觉。
但是后来我看过一些其他人的评价,似乎阅读体验并没有我那么high,也许是因为每个人的知识积累和经验不同导致的。我那个时候刚好是经验知识积累已经足够丰富,但是还没有系统的整理成型,让这本书一梳理,立刻形成完整的知识体系了。
3、《企业应用架构模式》
 
Martin的又一本名著,但这本书我只是泛泛的看了一遍,并没有仔细看。这本书似乎更适合做框架的人去看,例如如果你打算自己写一个ORM的话,这本书是一定要看的。但是做应用的人,不看貌似也无所谓,但是如果有空,我还是推荐认真看看,会让你知道框架为什么要这样设计,这样你的层次可以晋升到框架设计者的角度去思考问题。Martin的书我向来都是推崇,但是从来都没有像Rod Johnson的书那样非常认真去看。
4、《敏捷软件开发 原则、模式与实践》
 
Uncle Bob的名著,敏捷的经典名著,这本书比较特别,与其说是讲软件开发过程的书,不如说讲软件架构的书,本书用了很大篇幅讲各种面向对象软件开发的各种模式,个人以为看了这本书,就不必看GoF的《设计模式》了。

软件开发过程
了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。
1、《UML精粹》
 
UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。要提醒大家的是,这本书的中译本翻译的非常之烂,建议有条件的看英文原版。
2、《解析极限编程 拥抱变化》XP
 
这是Kent Beck名著的第二版,中英文对照。没什么好说的,必读书籍。
3、《统一软件开发过程》UP
 
其实UP和敏捷并不一定冲突,UP也非常强调迭代,测试,但是UP强调的文档和过程驱动却是敏捷所不取的。不管怎么说,UP值得你去读,毕竟在中国真正接受敏捷的企业很少,你还是需要用UP来武装一下自己的,哪怕是披着UP的XP。
4、《敏捷建模》AM
 
Scott Ambler的名著,这本书非常的progmatic,告诉你怎么既敏捷又UP,把敏捷和UP统一起来了,又提出了很多progmatic的建议和做法。你可以把《解析极限编程 拥抱变化》、《统一软件开发过程》和《敏捷建模》这三本书放在一起读,看XP和UP的不同点,再看AM是怎么统一XP和UP的,把这三种理论融为一炉,形成自己的理论体系,那么你也可以去写书了。

刘江总编推荐的(从编辑的角度)
我们将内容分为两部分,本部分讨论Java语言层次的综合类、入门和中高级图书。

综合/巨著
在国内,Stroustrup的《C++ 程序设计语言(特别版)》和《C++ Primer中文版》经常被人并称为C++两大巨著,记得当时出版社宣传中有“倚天屠龙”语,确为妙喻。其实,《C++ 编程思想》也处在同一等级别,尤其是加上后来出版的第二卷之后。

无独有偶,在Java世界里,同样也有并驾齐驱的巨著双璧。

       《Java编程思想》(第三版)

        Bruce Eckel著 侯捷译机械工业出版社定价:99元

本书似乎毋需多言了,它在国内名气之大我早有耳闻:以99元的高价销售已经超过了50000册(侯捷网站数据),远远甩开了竞争对手, 其盛势甚至超过了海外———其实在国外,本书与《Java核心技术》、Horton、Deitel的《Java程序设计教程》、van Linden的 《Java2教程》(英文名Just Java)都在伯仲之间,仅仅是略占优势而已。除Deitel的面向教材市场,售价超过90美元之外,其余的连定价都 咬得很紧,无论篇幅多大,均在35美元上下,可见竞争之激烈。

本书的优点是对象优先,强调概念的理解,开放的模式带来了类似开源软件的群聚效果,有更多人帮助提高图书质量。第三版中对当代软件工 程实践和工具(Ant、XP、Design by contract)的融入,便于读者进入职业角色,也是大大高出一般编程书的地方,体现了Eckel仍身处 开发社区中央的优势。当然,这些特点同时也带来了一些负面影响,那就是有些初学者尤其是缺乏基本编程知识的人由此入门可能会有困难。我的建议是,可以先选 择一本纯粹的入门书,比如《Java语言导学》,再回头来通过本书打通任督二脉,增进功力。

      《Java2核心技术卷I:基础知识》(第6版)

        Cay S.Horstmann, Gary Cornell著 程峰等译

        机械工业出版社定价:75元

这本书渐渐有了追赶前书的势头。其实这一点并不奇怪。本书的作者均是从业界转入教职、有着丰富经验的大学教 授,而且除本书外,均另有多部技术名著面世,写作经验也非常老辣:Horstmann写有直接与Deitel竞争的Java教材以及其他多部畅销的计算机 科学教材,在Wiley出版;而Cornell是著名的VB、C 技术作家,同时还是近年来发展飞速并且收购了大量Wrox版权的技术图书出版社Apress的创始人。图书的技术审校有包括Java传奇人物 Joshua Bloch等数十人,这样的阵容,威力可想而知。

由于叙述详细,编排方式近似于国内教材,本书已经逐渐成为许多读者受挫于《Java编程思想》之后的替代方案,而且颇有成效。但是作 者的原意却是面向“有坚实编程语言基础的程序员”的,所以我建议完全不具备编程知识的读者还是需要另找一块敲门砖比较理想。本书更准确的定位Eckel自 己在《Java编程思想》后面的资源清单中已经为我们说明了:“篇幅巨大,内容全面,我在寻找答案的时候第一个就会想到它。”当然,Eckel指的是本书 的上下两卷。说到原书的卷II,作者和出版社显然有所失误,因为卷II的第6版从来就没有出版过。如今,两卷已经统一更新到了第七版。

      《Java程序设计 教程》(第5版)

        H.M.Deitel著,施平安等译   清华大学出版社

国内图书中能够与前两巨著相提并论的,恐怕应该还是这两本了。Deitel的程序设计语言教材影响极大,类似于国内的谭浩强,综合而言至今仍然无人能敌。当然Deitel技术上绝无问题,业界实践也并不缺,只不过他完全用一个模板方便地不断重用于各个语言,多年不变,显得有些不思进取,而且套路性文字在正文中越来越多,有一厢情愿之嫌。这些与前两本书相比,都是有差距的。不过,如果忽略篇幅和定价因素外,Deitel倒是很好的入门书。我当年就是用他的C真正入门的,相比一些同事采用国内教材的痛苦回忆和后患无穷,高下立见。

       《Java程序设计语言》(第4版)

       Ken Arnold, JamesGosling著 陈昊鹏等译 人民邮电出版社

Gosling的这本书篇幅是四本中最小的,它容易让我们 联想到Kernighan&Ritchie的《C程序设计语言》和Stroustrup的《C 程序设计语言(特别版)》。令人奇怪的是,此书的销售远远不如前二者。但是,语言之父的凝练文字、严谨定义和书中不经意流露出来的原创思想,弥足珍贵,对于理清概念绝对是最佳读物。建议所有Java程序员都读一读,从书中找到别处没有的营养。

入 门

入门书似乎是技术含量低的代名词,实则不然。要写一本好的入门书其实是非常难的,否则,当年Dryden出版社何以给哈佛的 Mankiw(就是当今美国总统的经济顾问)彻头彻尾的一本入门书《经济学原理》拍出100万美元预付金?写入门书,你不仅需要具有高出所写内容层次许多 的技术深度(这样才能在选择、把握材料时游刃有余),还要研究对象的学习心理,通常这意味着一定的教学经验。此外,对语言和叙述方式的要求也是最高的 ———高端技术书的读者大多能够宽容你文笔的干涩,而对于初学者,只要他读得费劲,你的其他优点将荡然无存。最后,你还将面临激烈的竞争,市场上可能有几 十个形形色色的对手已经严阵以待。

同样,推荐入门书其实也是最难的。原因之一还是同类书太多,几乎每个参与竞争的相关出版社都不会轻易放过这一角逐,市场上此类书占总 品种比例大概接近了40%。原因之二则是涉及面太广:初学者是金字塔之根基,而且今日之高手同样有初学记忆,你要是推荐得不中意,他们也会发表意见的,众 口既然难调,难免不会众口铄金。

以上原因,促使得我们不得不谨慎从事。我们的解决办法,是设立如下评判标准:

1.内容选取须反映当前实际。这里并没有严格限定必须遵守最新标准。实际上也没有必要,至今尚没有见到国内有哪本书反映J2SE5.0 (请读者注意,Ja鄄va平台的新版本已经从原来的1.5统一到5.0)的———本人正在翻译中的《Java核心技术》(第7版)可能会是比较早遵循 5.0标准的作品。

2.内容选取应该基本符合J2SE范畴。记得Tim O'Reilly(出技术书非常出名的O Reilly公司的老板)曾经讥讽当时流行的Java傻瓜书和“21天/24小时/10分钟自学Java”一类的图书说,Java本身并不是那么简单的编 程语言,纯粹为了炒作而做出多快好省的美妙承诺,这样的书、作者和出版商都是极不负责任的。的确,Java技术本身的复杂(虽然简单是Sun公司为其下的 第一个修饰词),想用一本书讲清楚基本的入门内容:语言要素、面向对象概念、图形界面开发、事件处理、I/O、applet、异常与调试等等,控制篇幅都 已经非常困难,哪里还能再奢谈其他?

3.翻译书的译校质量应该达到起码的要求。

4.市场上容易买到。这条标准其实很难完全量化,一个指标是调查公司所统计的实际销售数据(由出版界朋友提供),一个指标是国内主要技术图书网上书店的销售排名以及点击次数。综合起来,只要缺货并不严重即可。

有趣的是,这几条简单而明显的标准,衡量起当下的图书时,却成了巍巍其阿的分水岭:几乎所有国内的入门图书都被毫无借口好讲地直接淘汰 出局了。第1条标准最具杀伤力,我惊奇地发现,国内的作者居然近乎完全口口相传、人云亦云似地还在大讲特讲AWT图形组件,而对Swing要么根本不提, 要么介绍非常简略,最后完全弄成喧宾夺主,对于这样的书,则是坚决枪毙之。毕竟,Swing在图形界面方面替代AWT,已经是1998年1.2发布时的陈 年旧事了,7年过去了,我们的作者、老师还在教授读者使用实际项目中根本不可能使用的AWT图形组件,简直是可怕而又可悲的事情。要知道,国外讲AWT的 书早已绝版多日了。

第2条上出现的问题有的非常可笑,有几本书(销售成绩好像还很不错)居然在煞有其事地讨论JavaScript!而不少书本来篇幅就少得可怜,许多该讲到的远未讲透,却乐滋滋地干起了副业,在最后用几页篇幅讲JSP、Servlet或者EJB,让人哭笑不得。

而第3条上折损的也颇有不少,Ivor Horton极富盛名的《Beginning Java2》先后几个版本《Java2入门经典》 (1.2)(中国电力出版社)、《Java2编程指南》(1.3,1.4)(电子工业出版社)就都毁在翻译上。奇怪的是,最早的版本前几章还流畅可读,此 外就完全有些乱来了。后面的版本居然将nativeAPI翻译成“自然API”,真不知道译者学的是什么专业。

那么,最后的幸存者有哪些呢?

       《Java教程》

        Mary Campione等著,人民邮电出版社

Sun公司官方推荐的Java语言初学教程,作者都是Sun公司内部的文档写作人员,所以文字和技术是绝对有保障的,中文翻译通顺可 读。编排上,将ap鄄plet和集合等内容放入附录,也是避重就轻的合理之举,其实applet在实际项目中很少有使用的机会。常见问题也是一个很有特色 的环节。不足的地方是图形组件部分太省,当然,这正好可以用《Java核心技术》等书进行弥补。

      《Java就业培训教程》

        张孝祥著 清华大学出版社

张孝祥此书颇有国人特色(比如字符乱码问题)、局部也很见功力(比如一些穿插在正文中的小经验、小难点解疑),能够看出作者下了不少 功夫,有所积累。国内读者由此应该比较容易入门。问题出在图形组件部分,先讲述AWT事件处理模型本来很好,但是继而用两节篇幅讲述AWT,Swing却 只有一节,就有些令人遗憾了。

       《21天学通Java2》 第三版

        Rogers Cadenhead等著,袁国忠译,人民邮电出版社

本书属于许多人痛批的“21天学通系列”,其实内容不错,翻译也算中规中矩。所不足的地方,是作为敲门砖篇幅稍大,定价较高。如果删 去RMI、联网、Servlet和JSP内容,也许更加合理。

        《Java2实用教程》

         Herbert Schildt著,马海军等译,清华大学出版社

实不相瞒,此书原版在国外是一本入门畅销书,作者名气很大,写书多年了,是Osborne的王牌作者。原文讲Swing很少,而且例子比较小儿科。中文译本还没有读过,不知如何,需要读者自己判断。

       经验/深入

在综合和入门层次图书之后,我们已经更上一层楼,可以看到更广阔的Java世界图景。首先进入我们视野的是语言编程经验和深入层次图书,面向中级读者。正 如著名程序设计专家Sun公司杰出工程师GuySteele所说:“对于一门程序设计语言,你需要了解三样东西:一是语言核心,即语法结构;二是语言的词 汇,包括所提供的数据结构和功能设施;三是语言的习惯用法。”一般的程序设计图书只会涉及到前面两点,而要讨论第三点,往往需要作者有大量的代码开发和阅 读经验,难度极大,所以,这一层次目前国内市场上所见图书,基本上都是国外翻译作品。

        谈起汇集经验的编程图书,大家都会想到Scott Meyers的《Effective C++》。虽然有传言说Stroustrup曾私下表示此书其实是将自己和其他人的许多想法收集起来而成,颇不以为然。但是对于我们读者,Meyers的确是开 创了一代风气之先。此后,各个领域都出现了不少以“条目(item)”组织的优秀图书。有评论说,“Effective”风格作品的出现,往往是某种技术 成熟的一种体现。果不其然,在Java日渐成为主流之后,先后出现了多部“Effective”风格的作品。

Effective Java 中文版
Joshua Bloch著, 潘爱民译
机械工业出版社

本书在Java界的地位相较于Scott Meyers之于C ,可以说是有过之而无不及。作者是James Gosling之后Java语言的主要实现者(负责设计了Col鄄lection框架和Java.math 包),在Java界处于绝对核心地位,这一点甚至超过了Meyers。书中许多例子来自Java平台库本身的实际设计,非常贴近实践,许多段落都显然是作 者5年(1996—2001)中在Sun核心开发团队中博观约取、深思熟虑之后的经验结晶,自然弥足珍贵。当然,潘爱民先生的翻译为中文版增色不少。

值得一提的是,作者已经在Java5开发工作完成之后,于2004年7月离开了Sun公司,加盟了如日中天的Google公司。像许 多读者期望的那样,他有了更多时间奉献给Java社区——最近我得到美国朋友的消息,说Bloch今年将出版一本新作,暂定名为 《JavaPuzzlers Traps,Pitfalls,andCornerCases》(Java疑难杂症),在Amazon上已经开始预订。真是令人期待!

Practical Java 中文版
Peter Haggar著 侯捷 刘永丹译
中国电力出版社

本书的作者是IBM公司的研究人员,有丰富的Java开发、教学和推广经验。由于格式均仿照EffectiveC ,本书和晚一年出版的《EffectiveJava》的比较是不可能回避的。从作者的名气而言,本书自然差了一个档次。从内容上说,本书与后者的选材也存 在一些重复,比如equals、多线程、接口、异常处理,但直接的撞车为数并不多。我的阅读经验表明,本书与后者更多地是一种相辅相成的关系。本书作者重 于教学,所以浅出为主,叙述通俗,“可以在短暂的闲暇中阅读”,许多内容讨论更细(书中共68条,篇幅更大于后者),正好可以作为入门到《Ef鄄 fectiveJava》之间的桥梁。此外,“性能”一章基本上是本书独有,而且许多地方给出了字节码,使读者得以窥探内部机理,非常有价值。

总而言之,作为普通读者的我们,为了提高功力,同时得两位大师相助,自然是求之不得的事情。反正总共也不过100余条至理名言,是不是?

本书如果说有问题的话,应该是出在翻译上,虽然出自名家之手,但是大量台湾术语以及“data”、“object”、“ar鄄ray”的保留,对于内地读者来说,确实反而造成了阅读障碍。

Java Pitfalls中文版
Michael C. Daconta等著徐波译
人民邮电出版社

More Java Pitfalls中文版
Michael C. Daconta等著
Java研究室译人民邮电出版社 定价52元

这个系列也是Effective系列书籍,而且准确地说是第一本此类图书(前一本的出版时间更在《PracticalJava》之前),作者也 是业界有名的技术作家。然而生不逢时,有道是“既生瑜,何生亮”,如果没有上面两本书的存在,本系列应该能够得到更多读者的青睐。

首卷与上面两本书取材基本相同,特别是与Haggar一书重复较多,但是功力上的差距比较明显,尤其是有15条讲述GUI,占据了较多篇幅,而该深入讲述的主题反而过于泛泛,甚至有若干不太正确的表述(比如不加限制地说“抽象方法必须改写”)。

次卷将选材大大拓展,涵盖了客户层、Web层和企业层,已经不能以《Effective Java》和《Practical Java》不起眼的小兄弟视之。但是和国外其他同类图书(国内尚无译本)比如《Effective Enterprise Java》等相比,此书又显得不够系统,失于琐碎。当然目前而言,J2EE方面的经验类书籍,国内恐怕也只有这一种选择了。

深入Java虚拟机
BillVenners著 曹晓钢 蒋靖译
机械工业出版社 定价58元

Java与C/C 的重要差异之一,就是中间形式的字节码的存在,这一点与.NET语言中的MSIL相同。许多人认为,Java设计的本意就是高度抽象,使程序员无需关心底 层,但是实际上这是做不到的。看看前面几本书中讨论性能等主题的部分,要真正知其所以然,分析字节码是必不可少的。微软公司的朋友也告诉我,他们开发中查 看代码生成的MSIL是家常便饭,须臾离不开的。因此,如果你只能呆在语言层面之上,就无法真正成为专业程序员。了解平台,至少能够阅读字节码,应该是一 种基本功。

本书正是为此目的而编写的。好像也是国内仅见的一本讲述Java平台运行机理的书。作者是如今已经得享大名的Artima.com网 站的创始人,在程序设计界影响颇大。此书出版以前,我们能够找到的虚拟机和字节码方面的资料,只有枯燥的Sun公司虚拟机规范(O Reilly曾经出版过一本,但是限于Java1.1)。与其他偏重底层的图书不同,身为程序员的作者完全为程序员设想,材料的选取和组织都非常体贴。配 套光盘和网站内容丰富,更有生动的Applet解释抽象的过程。如果其他比较难啃的技术领域都能有Venners这样的优秀作者,我们就有福了。

Java编码规范(英文版)
Allan Vermeulen,Scot tW.Ambler等著
人民邮电出版社定价11.8元

本书有一句极好的宣传语:“七个人写的书才140页?那肯定不错!”可不要作“臭皮匠”和“诸葛亮”的联想。七个作者中 ScottAmbler是有名的技术专家和作者,相信不少读者都从他的其他著作和专栏文章中得到不少教益。其他几位则是著名的平台软件供应商 RogueWave公司的核心开发人员,本书其实正是从该公司使用的编程规范发展而来的。我也确实见过许多开发公司使用本书作为编程规范的蓝本。它不仅薄 而且是小开本,计算机图书中难得的精干,但这么小的篇幅里却实实在在地汇集了许多宝贵经验,总共108条规则,对程序编写中的命名、版式、文档、包的规范 都有很好的总结,讲编程的一章只有30页,但涵盖了类型安全、同步、异常处理、断言、效率等高级主题。

此书应该是《EffectiveJava》和《PracticalJava》的很好补充,虽然深度无法相比,但是范围更大。须知,只 懂语法、技术而不知编程规范的Java程序员在大多数公司都是不受欢迎的。当然,Sun公司发布的Java编程规范也非常值得参考。关键是在公司内部要在 这些基础上因地制宜,制定自己的规范,并一以贯之地遵循。要说明的是,本书有些建议是不正确的,有的对照《EffectiveJava》和《Practical Java》即知。对此网上有不少评论,大家可以参考。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cndes/archive/2009/11/03/4762001.aspx

你可能感兴趣的:(学习方法,java,出版,编程,语言,swing,敏捷)