推荐给低级Java程序员的3本进阶书

推荐给低级Java程序员的3本进阶书

在这篇文章中介绍3本不错的技术书籍。作者认为这些书籍对新手或学生而言特别有帮助。通过一些基础性的教程入门后,我们可以使用Java做基础性的编程。但是,当我们需要从低级提升更高的一个层次时,大多数的人却不知道从何入手。一些好的书籍在这个阶段可以很好地帮助低级开发人员。

《HeadFirst设计模式》

这本书介绍GoF经常使用设计模式的方式引人入胜。如果只看封面很难看出来这是一本技术书籍,更不用说这本技术书籍介绍的还是面向对象编程的一些很有用的技能。这本书采取KathySierra式编写风格:虽然她的博客已关了,但是还是能从前面这个链接看到一些她的文章,建议读一读。如果你周围有人认为设计模式没有甚么用途,这本书倒是能够让他们改变看法。个人而言,我认为经典的GoF手册是一个很好的参考,但它并不是专为新手准备的。因此强烈推荐在校生(包括那些不清楚组合模式是什么的程序员们)浏览此书。

书中介绍的设计模式是程序开发中比较基本的编程模式,也是面向对象编程的程序员应当了解和掌握的。接下来要介绍的这本书则更偏向于Java语言本身,这也是我平常使用的编程语言。

《EffectiveJava中文版》第二版

每一个Java程序员的书桌上都应当放有这本书。让我们先了解下作者:

JoshuaBloch是Google公司的首席Java设计师,并且也是一名Jolt奖获得者。他之前是Sun的一名杰出工程师(distinguishedengineer),也是Transarc公司的一个 系统设计师。Bloch主导了众多基于Java平台的软件系统的设计和实现,包括JDK5.0的功能加强和取得过奖项的Java集合框架的设计实现。他同时也参与编写了《Java解惑JavaPuzzlers》和《Java并发编程实战JavaConcurrencyinPractice》这两本技术书。

就凭“Java集合框架开发者”这个称号,我们就应当认真听取这位值得尊重的程序员的建议。这些建议在这本书中组织成78个点:读者可以依照自己的速度进行浏览。

在复写equals和hashcode方法时,我们应当遵守甚么规则?

不可变类(immutableclass)是什么?

在特定的情况下,应当选用哪种最相干的异常类型?运行时异常(Runtimeexception)还是可捕获异常(checkedexception)?

对一个托管语言(managedlanguage,详细请参考wiki介绍),如何在混淆编译时保存(preserve)类的成员?

上面所有的问题(也包括其他74个)都有实用主义者JoshuaBloch的详细解释。读完这本书,程序员应当能意想到使用Findbugs、Checkstyle这些工具的必要性了。

《Java并发编程实战》

一年前我正努力在做UI开发工作时(在Eclipse插件中使用SWT/JFace,其他一些项目则使用Swing),就看了这本书。那时,我想了解如何实现一个快速响应的UI,从而能给用户更好的使用体验。我知道自己写线程安全的代码是非常复杂的,虽然运行时间长的操作通常是一个独立的线程。UI开发和多核系统运用开发是学习如何开发线程安全的软件系统的一个很好的理由。

这本书的作者以下:BrianGoetz,JoshuaBloch(又出现这位大牛了,我们刚提到过,还记得吗?),DougLea(ncurrent包的开发者),DavidHolmes,TimPeierls和JosephBowbeer。

这本书的风格非常直接,有的代码在非线程安全的环境下表现不错,可一旦到了线程安全的环境下就变得十分的危险。接着,这本书介绍了基本的保证线程安全的机制:同步机制,volatile关键字等。本书还有对ncurrent接口的介绍,你可以根据自己的需要来选择合适的并发集合类。这本书也介绍了程序运行时的毛病管理,和如何测试代码是不是是线程安全的。而且书中还提供了说明性的注释(Annotation)(下载),这些注释通过了FindBugs的检查!

还有其它推荐吗?

其实还有很多书值得推荐,不过现在我优先讨论这3本。如果你1本都还从没读过,那末我建议你依照本文介绍顺序进行浏览。好啦,你喜欢的技术书籍有哪些呢?











































南昌白癜风专科医院
中国白癜风治疗去哪里



转载请注明:http://www.xxcyfilter.com/zytd/590.html