又一波Java专业人士必备书籍来袭_java

Java 专业人士必备的书籍大放送

每个程序员都会有一些由于经常被当作专业资料参阅而磨坏的书。下列书籍应该是 Java 语言程序员的书架上必备的。书很贵,所以我有意将这份列表弄得很短,仅限于重要书籍。

Thinking in Java (Bruce Eckel)

Thinking in Java, 3rd edition (Bruce Eckel; Prentice Hall PTR,2002 年)

Java 编程思想:第3版 (陈昊鹏 等译; 机械工业出版社,2005 年)

Eckel 的书对于学习如何在 Java 语言环境中使用好面向对象技术极其实用。书中大量的代码样例解释了他所介绍的概念。文字出自一个并不认为 Java 技术总是正确答案的人,所以相当地实用。Eckel 具有多种语言的大量经验,还有用面向对象方式进行思考的扎实技能。本书将这些技能放到实用的 Java 语言环境中。他还在写一本新书,名为 Thinking in Enterprise Java。

Effective Java (Joshua Bloch)

Effective Java: Programming Language Guide(Joshua Bloch; Addison-Wesley,2001 年)

Effective Java 中文版 (潘爱民 译; 机械工业出版社,2003 年)

本书是理解优秀 Java 程序设计原则的最佳书籍。大多数材料从其他的 “学习 Java ” 的书中根本找不到。例如,Bloch 书中关于覆盖equals() 这一章是我读过的最好的参考资料之一。他也在书中包括了很实用的建议:用接口替代抽象类和灵活使用异常。Bloch 是 Sun 公司 Java 平台库的架构师,所以他透彻地了解这门语言。事实上,他编写了该语言中大量有用的库。本书必读!

The Java Programming Language (Ken Arnold, James Gosling, David Holmes)

The Java Programming Language(Ken Arnold,James Gosling,David Holmes; Addison-Wesley,2000 年)

Java 编程语言(第 3 版) (虞万荣 等译,中国电力出版社,2003 年)

这也许是能弄到的最好的 Java 入门读物。它并不是一个标准规范,而是一本介绍每门语言特性的可读书籍。这本书在严谨性和教育性方面权衡得很好,能够让懂编程的人迅速被 Java 语言(和其丰富的类库)所吸引。

Concurrent Programming in Java: Design Principles and Patterns (Doug Lea)

Concurrent Programming in Java: Design Principles and Patterns, 2nd edition(Doug Lea; Addison-Wesley,1999 年)

Java 并发编程—设计原则与模式(第二版) (赵涌 等译,中国电力出版社,2004 年)

不是每个开发人员都需要如此细致地了解并发性,也不是每个工程师都能达到本书的水准,但却没有比本书更好的关于并发性编程的概述了。如果您对此感兴趣,请从这里开始。Lea 是 SUNY 的一名专业程序员,他的和并发性有关的作品和想法都包含在了 JDK 5.0 规范(引自 JSR166)中,所以您大可放心,他所说的关于有效使用 Java 语言的建议是值得一听的。他是一个很善于沟通的人。

Expert One-On-One J2EE Design and Development (Rod Johnson)

Expert One-On-One J2EE Design and Development(Rod Johnson)

WROX: J2EE 设计开发编程指南 (魏海萍 译,电子工业出版社,2003 年)

对于刚接触 J2EE 的人来说,这是唯一的一本如实反映这项技术的书。本书收录了多年的成功经验和失败经验,不同于其他许多作者,Johnson 乐于将失败的经验公诸于众。J2EE 常常都被过度使用。Johnson 的书能帮您避免这一点。

Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)

Refactoring: Improving the Design of Existing Code(Martin Fowler,Kent Beck,John Brant,William Opdyke,Don Roberts;

Addison-Wesley,1999 年)

重构:改善既有代码的设计(中文版) (侯捷 等译,中国电力出版社 ,2003 年)

Fowler 写了几本现已出版的最流行的编程书,包括 Analysis Patterns。他的关于重构 的书是这一主题的基本书籍。重构代码是被程序员忽略的训练,但却是程序员最直观的想法。重构是在不改变代码结果的前提下改进现有代码的设计。这是保持代码整洁的最佳方式,用这种方法设计的代码总是很容易修改。什么时候进行重构呢?当代码“散发出味道”时。Fowler 的书里满是 Java 语言代码的例子。许多 Java 语言集成开发环境(IDE)(包括了 IBM 的 Eclipse)都将 Fowler 的重构包含了进去,每一个都使用他的重构名命名,所以熟悉如extract method 等重构方法还是很值得的。

Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)

Design Patterns: Elements of Reusable Object Oriented Software(Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides; Addison-Wesley,1997 年)

设计模式:可复用面向对象软件的基础 (李英军 等译,机械工业出版社 ,2005 年)

这是一本在专业程序员圈子里更为有名的书,基于作者共同的绰号,这本书被认为是 “四人帮(GOF)之书”。模式是思考和解决普通编程问题时可以重用的方式。学习模式是一门学科。使用好模式(或知道什么时候不 使用模式)是一项技能。忽略模式则是错误的。书中所有的例子都以 C++ 表示,但 Java 语言是从那里诞生的,让 Java 语言程序员由此联系到如何在 Java 语言中实现这些模式相对简单一些。熟悉模式并了解如何使用好模式使编程更加简单。这使得和其他程序员交流也更简单,因为在针对通用问题的通用解决方案中,模式是描述解决方案中彼此协作的大量相关编程概念的快捷方式。一些更为通用的方式,如工厂方法 则是普便存在的,甚至存在于 Java 语言本身。关于明智使用模式的这个主题,也可以阅读 Joshua Kerievsky 的 Refactoring to Patterns,该书称可以让代码来告诉您何时实现模式。

Patterns of Enterprise Application Architecture (Martin Fowler)

Patterns of Enterprise Application Architecture(Martin Fowler; Addison-Wesley,2002 年)

企业应用架构模式 (王怀民 等译,机械工业出版社 ,2004 年)

比起小型、一次性项目来说,企业开发当然代表了更大的挑战。那并不意味着企业开发带来的所有挑战都是新挑战。事实上有些时候,这项开发已经 是以前完成过的了。Fowler 做了很多个这样的项目。他的书提到了一些通用解决方案,并提供了关于使用、折中和可选方案的指导。Fowler 在书中包含了一些熟悉的模式,如模型视图控制器(MVC),他也提供了一些您也许不了解的模式,如处理 Web 站点上特定页面请求或行为请求的 Page Controller 模式。正如您对待大多数模式一样,一旦您读过许多模式,您就会认为 “我已经知道那个模式了” 。也许是这样,但有一个用来引用模式的通用表达方式还是很有帮助的。在有多个组件(由不同人开发)的大型项目中,该类引用是一项很好的帮助。

UML Distilled (Martin Fowler)

UML Distilled: A Brief Guide to the Standard Object Modeling Language(Martin Fowler; Addison-Wesley 2003 年)

UML精粹:标准对象语言简明指南(第3版) (徐家福 译,清华大学出版社 ,2005 年)

对于专业的程序员来说,UML 是一门很重要的通用可视化沟通语言,但是它被过度使用和草率地滥用了。您无需对使用 UML 沟通了解太多。Martin 对 UML 的提炼为您提供了最核心的东西。事实上,前后的封页提供了常规基础上可能使用到的所有东西。该书中 UML 例子的代码都是 Java 代码。

Test-Driven Development: By Example (Kent Beck)

Test-Driven Development: By Example(Kent Beck; Addison-Wesley 2002 年)

测试驱动开发(中文版) (崔凯 译,中国电力出版社 ,2004 年)

测试优先编程将使编程发生革命性变化,能助您成为更好的程序员。在写代码之前编写测试开始很难,但却是一项威力强大的技能。通过优先编写测试,可使代码更加简单,并确保从一开始它就能工作(Beck 实践着他提倡的测试优先,与人合写了 JUnit,这是 Java 语言最流行的测试框架)。Beck 的书是权威的参考资料,扩展了的 Money 例子也用 Java 语言写成。Beck 详述了如何用测试优先进行 思考(这也许是许多程序员首先遇到的障碍)。

The Pragmatic Programmer: From Journeyman to Master (Andy Hunt and Dave Thomas)

The Pragmatic Programmer: From Journeyman to Master(Andrew Hunt 和 David Thomas; Addison-Wesley 1999 年)

程序员修炼之道——从小工到专家 (马维达 译,电子工业出版社 ,2004 年)

做一个纯粹的面向对象开发人员有其优势所在。在当今复杂的社会中,作为 Java 语言开发人员,为完成任务常要妥协。Hunt 和

Thomas 探讨了如何不将真正重要的东西妥协掉而完成任务。这不是一本关于 Java 语言的书,而是 Java 语言开发人员重要的思想读物。例如,我认为没从“要解决问题,而不是推卸责任”这句忠言中受益的程序员,不能像个自豪的艺术家一样在他的杰作上签上大名。

Peopleware: Productive Projects and Teams (Tom DeMarco and Timothy Lister)

Peopleware: Productive Projects and Teams(Tom DeMarco,Timothy Lister; Dorset House,1999 年)
人件(第2版) (UMLChina 翻译组 译,清华大学出版社 ,2003 年)

这份列表中的其他所有书籍都至少和技术有些相关。这本书却不是。在所有技术行话和首字母缩略词的海洋中,有时软件开发人员和经理们会忘记:是人 制造了软件。DeMarco 和 Lister 向我们提醒了这一事实,也向我们提醒了形成这一区别的原因。这不是一本关于一门特定编程语言的书籍,但却是每个 Java 语言程序员都应该读的书。关于 “累死程序员如何让经理们适得其反” 还有许多其他的好书,但这是最好的一本。

学好java语言从阅读开始!

时间: 2024-08-29 11:49:52

又一波Java专业人士必备书籍来袭_java的相关文章

android 求职-Android开发求职应聘必备书籍??

问题描述 Android开发求职应聘必备书籍?? 请教各位前辈.大神,校招季已经开始了,我是应届毕业生,想找一份Android的开发工作,请问要哪些知识储备和条件,准备应聘面试有哪些经典的Android书可以看看啊?请教各路大神.前辈.小弟感激不尽!! 解决方案 第一行代码.....

今年-计划写一本java方面的书籍

原本以博客为主,在众多朋友的支持下,今年决心写一本java书籍,不论是否能收到大家的关注,也会尽心去写好每一条内容. 其实目前java方面的书籍十分多,而高手看来,十本书有8.9本是垃圾书,要么是本身写得不好,或者没有阐述到真正想要的,要么是抄来抄去. 也许我写书带着两个目的,一个是我写的是否能给你带来价值,否则我没必要写.第二如果市面上有差不多的书,我写着更没意思,我希望解决某些人群,在成长中遇到困难所可能想要看到的一本书,请看下面介绍. 我写书的主旨是为何呢? 我(大家可以叫我小胖或胖哥),

今年-计划写一本java方面的书籍-初稿正式完成

几个月前,提到了<今年-计划写一本java方面的书籍>,目前初稿已经完成,字数为50W字左右,现在已经正式进入修订阶段,不过出版估计需要一段时间,因为出版社有他们的安排和流程. 章节有所变化,从23章压缩为21章,第一篇的6个章节讲解一些基础技术,是本书的重点,占了半本书的内容,接着会讲解一些源码.设计.实现.和其他的内容. 本书主体依然希望帮助工作时间不长,但渴望成长的人,也许会有所迷茫,也许有所困惑,希望别人给点支撑力,也许这本书里面能找到一些内容.不适合于牛人,不适合于做客户端程序的童鞋

感谢大侠们给点java相关的书籍

问题描述 很感谢各位大侠给点java相关的书籍参考下 解决方案 解决方案二:21天精通java入门级:另外多看java的视频教程:关键是多动手多联系,有问题多问.深入点的话,看Java核心技术卷1.卷2:ThinkingInjava解决方案三:Java面向对象编程指南corejava很多解决方案四:按照层次来:入门:Java核心技术卷III跟着敲代码,最好搞一两个应用自己实现一下,例如QQ等然后上网搞个视频从头到尾搞定跟着敲进阶:Java核心技术卷III建议多看两遍,每次都感觉进步Thinkin

求推荐JAVA 多线程编程书籍

问题描述 求推荐JAVA 多线程编程书籍 解决方案 1.从<Concurrent in practice>开始2.研究JDK各并发类,最终全部理解AQS实现原理(同时进一步了解非阻塞算法)3.研究JSR133,同时实践4.同时,开始结合操作系统概念进一步理解5.研究一些流行并发框架的源代码解决方案二:随便找一本介绍Java多线程的书,或者你在网上找点资料,马上就会写程序.要像深入了解的话,那就是操作系统级的事情了,像 同步 机制,线程优先级等等.举例说明:使用方法一般有两种,一是继承Threa

请大神推荐Java网络编程书籍,有介绍IGMPv3协议的

问题描述 最近在学校做有关SDN的项目,需要用JAVA编写有关IGMP协议的内容--旧版本的JAVA网络编程书籍很少有涉及到这方面的介绍,所以请各位推荐书籍.不胜感激! 解决方案

Java专业人员必备工具 优缺点解析中文版

1. Notepad++ 在个人职业生涯中,我曾经为多家公司效力,而这款工具一直伴随在我左右.毫不夸张地讲,Notepad++对我个人而言是最为出色的笔记本替代工具.我一直在利用这款软件编辑xml.脚本或者单纯编写笔记内容.这款软件最令我赞赏之处在于,我曾经打开的每一个文档即使经过手动关闭也仍将一直存在.因此,我所记录的一切重要内容都不会由于愚蠢的微软崩溃问题而消失无踪.Notepad++的另一大优点在于其拥有出色的比较插件,在代码内容比较方面效果拔群. 优点:轻量化,拥有内容比对插件.支持un

java使用dbcp2数据库连接池_java

在开发中中我们经常会使用到数据库连接池,比如dbcp数据库连接池,本章将讲解java连接dbcp数据库库连接池的简单使用. 开发工具myeclipse2014 1.首先创建一个web项目,我把项目名取名为testjdbc,需要带有web.xml的配置文件,进行servlet的配置,创建完成以后的项目结构如下: 2.创建包,我创建的包名是com.szkingdom.db 3.创建帮助类CastUtil,代码如下: package com.szkingdom.db; /** * Created by

Java容器类的深入理解_java

Java容器类包含List.ArrayList.Vector及map.HashTable.HashMap ArrayList和HashMap是异步的,Vector和HashTable是同步的,所以Vector和HashTable是线程安全的,而ArrayList和HashMap并不是线程安全的.因为同步需要花费机器时间,所以Vector和HashTable的执行效率要低于ArrayList和HashMap.Collection├List       接口│├LinkedList       链表