JAVA程序员必看的15本书JAVA自学书籍推荐Word下载.docx
- 文档编号:17039936
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:10
- 大小:87.47KB
JAVA程序员必看的15本书JAVA自学书籍推荐Word下载.docx
《JAVA程序员必看的15本书JAVA自学书籍推荐Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA程序员必看的15本书JAVA自学书籍推荐Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
Martin的又一本名著,但这本书只是泛泛的看了一遍,并没有仔细看。
这本书似乎更适合做框架的人去看,例如如果打算自己写一个ORM的话,这本书是一定要看的。
但是做应用的人,不看貌似也无所谓,但是如果有空,还是推荐认真看看,会让知道框架为什么要这样设计,这样的层次可以晋升到框架设计者的角度去思考问题。
Martin的书向来都是推崇,但是从来都没有像RodJohnson的书那样非常认真去看。
4、《敏捷软件开发原则、模式与实践》
UncleBob的名著,敏捷的经典名著,这本书比较特别,与其说是讲软件开发过程的书,不如说讲软件架构的书,本书用了很大篇幅讲各种面向对象软件开发的各种模式,个人以为看了这本书,就不必看GoF的《设计模式》了。
四、软件开发过程
了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。
1、《UML精粹》
UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。
但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。
要提醒大家的是,这本书的中译本翻译的非常之烂,建议有条件的看英文原版。
2、《解析极限编程拥抱变化》XP
这是KentBeck名著的第二版,中英文对照。
没什么好说的,必读书籍。
3、《统一软件开发过程》UP
其实UP和敏捷并不一定冲突,UP也非常强调迭代,测试,但是UP强调的文档和过程驱动却是敏捷所不取的。
不管怎么说,UP值得去读,毕竟在中国真正接受敏捷的企业很少,还是需要用UP来武装一下自己的,哪怕是披着UP的XP。
4、《敏捷建模》AM
ScottAmbler的名著,这本书非常的progmatic,告诉怎么既敏捷又UP,把敏捷和UP统一起来了,又提出了很多progmatic的建议和做法。
可以把《解析极限编程拥抱变化》、《统一软件开发过程》和《敏捷建模》这三本书放在一起读,看XP和UP的不同点,再看AM是怎么统一XP和UP的,把这三种理论融为一炉,形成自己的理论体系,那么也可以去写书了。
五、软件项目管理
如果突然被领导提拔为项目经理,而完全没有项目管理经验,肯定会心里没底;
如果觉得自己管理项目不善,很想改善项目管理能力,那么去考PMP肯定是远水不解近渴的。
1、《快速软件开发》
这也是一本名著。
可以这样说,有本书在手,就有了一个项目管理的高级参谋给你出谋划策,再也不必担心自己不能胜任的问题了。
这本书不是讲管理的理论的,在实际的项目管理中,讲这些理论是不解决问题的,这本书有点类似于“软件项目点子大全”之类的东西,列举了种种软件项目当中面临的各种问题,以及应该如何解决问题的点子,只需要稍加变通,找方抓药就行了。
六、总结
在这份推荐阅读书籍的名单中,没有列举流行的软件框架类学习书籍,例如Struts,Hibernate,Spring之类,也没有列举AJAX方面的书籍。
是因为这类书籍容易过时,而上述的大半书籍的生命周期都足够长,值得去购买和收藏。
【二.Java书籍Top10】
下面是JavaInside上推荐的十本不错的Java书籍。
1)JavaLanguageSpecification,
ThirdEdition
(byJamesGosling)
本书由Java技术的发明者编写,是JavaTM编程语言的权威性技术指南。
如果你想知道语言之构造的精确含义,本书是最好的资源。
2)EffectiveJava
SecondEdition
(byJoshuaBloch)
本书介绍了在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。
通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。
.
本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。
本书内容全面,结构清晰,讲解详细。
可作为技术人员的参考用书。
…
3)JavaConcurrencyinPractice
(byBrianGoetz)
随着多核处理器的普及,使用并发成为构建高性能应用程序的关键。
Java5以及6在开发并发程序取得了显著的进步,提高了Java虚拟机的性能,提高了并发类的可伸缩性,并加入了丰富的新并发构建块。
在本书中,这些便利工具的创造者不仅解释了它们究竟如何工作、如何使用,同时,还阐释了创造它们的原因,及其背后的设计模式。
本书既能够成为读者的理论支持,又可以作为构建可靠的,可伸缩的,可维护的并发程序的技术支持。
本书并不仅仅提供并发API的清单及其机制,本书还提供了设计原则,模式和思想模型,使我们能够更好地构建正确的,性能良好的并发程序。
本书的读者是那些具有一定Java编程经验的程序员、希望了解JavaSE5,6在线程技术上的改进和新特性的程序员,以及Java和并发编程的爱好者。
4)JavaPuzzles:
Traps,PitfallsandCornerCases
Java教父的又一经典名著–JavaPuzzlers,Amazon五星图书。
认为你到底有多了解Java?
你是一个代码神探吗?
你是否曾经花费过数天时间去追踪一个由Java或其类库的陷阱和缺陷而导致的bug?
你喜欢智力测验吗?
那么这本书正好适合你!
5)ThinkinginJava
(byBruceEckel)
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在BruceEckel的文字亲和力和小而直接的编程示例面前也会化解于无形。
从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。
从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。
本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。
本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。
这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。
6)Better,faster,lighterJava
(byJustinGehtland,BruceA.Tate)
Java的开发者正深陷于复杂性的泥沼中而无法自拔。
我们的经验和能力正接近极限,程序员为了编写支持所选框架的程序所花的时间比解决真正问题的时间要多得多。
我们不禁要问,有必要把Java搞得这么复杂吗?
答案是否定的。
本书给你指引了一条出路。
无论是维护应用程序,还是从头开始设计,你都能够超越成规,并大幅精简基本框架、开发过程和最终代码。
你能重新掌握一度失控的J2EE应用程序。
..
在本书中,原作者BruceA.Tate与JustinGehtland将循序渐进、娓娓道来。
首先,他们列出了五项基本法则。
他们展示了如何构建简单、解耦的代码,并告诉你如何选择技术。
他们还对两种被广泛运用的开源程序如何迎合这些概念进行了剖析。
最后,作者还将利用这些基本概念构建一个简单但内涵丰富的应用程序来解决现实世界中所遇到的问题。
7)CoreJava(vol.1,2)
(byCayS.Horstmann,GaryCornell)
《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。
本版也不例外,它反映了JavaSE6的新特性。
全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、泛型程序设计、集合以及多线程等内容。
全书对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类库的相关特性。
8)TheJavaVirtualMachineSpecification
(byTimLinholm,FrankYellin)
如果你需要了解Java虚拟机的bytecode,或者是一些编译方面的东西,这本书绝对让你得偿所愿。
其不但包含了机器码的规范说明,同时它也是Java编译器和运行环境的规格说明书。
9)RobustJava:
ExceptionHandling,Testing,andDebugging
(byStephenStelting)
处理异常涉及开发、设计和体系结构等方面的知识。
本书共分3个部分。
第Ⅰ部分介绍Java异常的产生机理和用法,介绍一些最佳实践,讲述各类异常处理使用的一般API和技术。
第Ⅱ部分阐述可测试性设计,介绍故障模式分析,讨论常见API的异常及起因,分析J2EE体系结构和分布式API的异常模式。
第Ⅲ部分讨论在软件开发周期执行异常和错误处理,分析软件体系结构、设计模式、测试和调试,列举成熟的设计模式,介绍处理策略对系统体系结构的影响,讲述如何构建健壮系统。
10)JavaCodeConvention
最后一本当然是Java编码规范,这是由Sun公司官方出品的。
这也是每个程序员为了得供程序的易读性,可维护性需要知道的。
【三.Java专业人士必备的书籍】
每个程序员都会有一些由于经常被当作专业资料参阅而磨坏的书。
下列书籍应该是Java语言程序员的书架上必备的。
书很贵,所以我有意将这份列表弄得很短,仅限于重要书籍。
ThinkinginJava(BruceEckel)
ThinkinginJava,3rdedition
(BruceEckel;
PrenticeHallPTR,2002年)
Java编程思想:
第3版
(陈昊鹏等译;
机械工业出版社,2005年)
Eckel的书对于学习如何在Java语言环境中使用好面向对象技术极其实用。
书中大量的代码样例解释了他所介绍的概念。
文字出自一个并不认为Java技术总是正确答案的人,所以相当地实用。
Eckel具有多种语言的大量经验,还有用面向对象方式进行思考的扎实技能。
本书将这些技能放到实用的Java语言环境中。
他还在写一本新书,名为
ThinkinginEnterpriseJava。
EffectiveJava(JoshuaBloch)
EffectiveJava:
ProgrammingLanguageGuide(JoshuaBloch;
Addison-Wesley,2001年)
EffectiveJava中文版
(潘爱民译;
机械工业出版社,2003年)
本书是理解优秀Java程序设计原则的最佳书籍。
大多数材料从其他的“学习Java”的书中根本找不到。
例如,Bloch书中关于覆盖equals()这一章是我读过的最好的参考资料之一。
他也在书中包括了很实用的建议:
用接口替代抽象类和灵活使用异常。
Bloch是Sun公司Java平台库的架构师,所以他透彻地了解这门语言。
事实上,他编写了该语言中大量有用的库。
本书必读!
TheJavaProgrammingLanguage(KenArnold,JamesGosling,DavidHolmes)
TheJavaProgrammingLanguage(KenArnold,JamesGosling,DavidHolmes;
Addison-Wesley,2000年)
Java编程语言(第3版)
(虞万荣等译,中国电力出版社,2003年)
这也许是能弄到的最好的Java入门读物。
它并不是一个标准规范,而是一本介绍每门语言特性的可读书籍。
这本书在严谨性和教育性方面权衡得很好,能够让懂编程的人迅速被Java语言(和其丰富的类库)所吸引。
ConcurrentProgramminginJava:
DesignPrinciplesandPatterns(DougLea)
DesignPrinciplesandPatterns,2ndedition(DougLea;
Addison-Wesley,1999年)
Java并发编程—设计原则与模式(第二版)
(赵涌等译,中国电力出版社,2004年)
不是每个开发人员都需要如此细致地了解并发性,也不是每个工程师都能达到本书的水准,但却没有比本书更好的关于并发性编程的概述了。
如果您对此感兴趣,请从这里开始。
Lea是SUNY的一名专业程序员,他的和并发性有关的作品和想法都包含在了JDK5.0规范(引自JSR166)中,所以您大可放心,他所说的关于有效使用Java语言的建议是值得一听的。
他是一个很善于沟通的人。
ExpertOne-On-OneJ2EEDesignandDevelopment(RodJohnson)
ExpertOne-On-OneJ2EEDesignandDevelopment(RodJohnson)
WROX:
J2EE设计开发编程指南
(魏海萍译,电子工业出版社,2003年)
对于刚接触J2EE的人来说,这是唯一的一本如实反映这项技术的书。
本书收录了多年的成功经验和失败经验,不同于其他许多作者,Johnson乐于将失败的经验公诸于众。
J2EE常常都被过度使用。
Johnson的书能帮您避免这一点。
Refactoring(MartinFowler,KentBeck,JohnBrant,WilliamOpdyke,DonRoberts)
Refactoring:
ImprovingtheDesignofExistingCode(MartinFowler,KentBeck,JohnBrant,WilliamOpdyke,DonRoberts;
重构:
改善既有代码的设计(中文版)
(侯捷等译,中国电力出版社,2003年)
Fowler写了几本现已出版的最流行的编程书,包括
AnalysisPatterns。
他的关于重构
的书是这一主题的基本书籍。
重构代码是被程序员忽略的训练,但却是程序员最直观的想法。
重构是在不改变代码结果的前提下改进现有代码的设计。
这是保持代码整洁的最佳方式,用这种方法设计的代码总是很容易修改。
什么时候进行重构呢?
当代码“散发出味道”时。
Fowler的书里满是Java语言代码的例子。
许多Java语言集成开发环境(IDE)(包括了IBM的Eclipse)都将Fowler的重构包含了进去,每一个都使用他的重构名命名,所以熟悉如extractmethod
等重构方法还是很值得的。
DesignPatterns(ErichGamma,RichardHelm,RalphJohnson,JohnVlissides)
DesignPatterns:
ElementsofReusableObjectOrientedSoftware(ErichGamma,RichardHelm,RalphJohnson,JohnVlissides;
Addison-Wesley,1997年)
设计模式:
可复用面向对象软件的基础
(李英军等译,机械工业出版社,2005年)
这是一本在专业程序员圈子里更为有名的书,基于作者共同的绰号,这本书被认为是“四人帮(GOF)之书”。
模式是思考和解决普通编程问题时可以重用的方式。
学习模式是一门学科。
使用好模式(或知道什么时候不使用模式)是一项技能。
忽略模式则是错误的。
书中所有的例子都以C++表示,但Java语言是从那里诞生的,让Java语言程序员由此联系到如何在Java语言中实现这些模式相对简单一些。
熟悉模式并了解如何使用好模式使编程更加简单。
这使得和其他程序员交流也更简单,因为在针对通用问题的通用解决方案中,模式是描述解决方案中彼此协作的大量相关编程概念的快捷方式。
一些更为通用的方式,如工厂方法
则是普便存在的,甚至存在于Java语言本身。
关于明智使用模式的这个主题,也可以阅读JoshuaKerievsky的
RefactoringtoPatterns,该书称可以让代码来告诉您何时实现模式。
PatternsofEnterpriseApplicationArchitecture(MartinFowler)
PatternsofEnterpriseApplicationArchitecture(MartinFowler;
Addison-Wesley,2002年)
企业应用架构模式
(王怀民等译,机械工业出版社,2004年)
比起小型、一次性项目来说,企业开发当然代表了更大的挑战。
那并不意味着企业开发带来的所有挑战都是新挑战。
事实上有些时候,这项开发已经
是以前完成过的了。
Fowler做了很多个这样的项目。
他的书提到了一些通用解决方案,并提供了关于使用、折中和可选方案的指导。
Fowler在书中包含了一些熟悉的模式,如模型视图控制器(MVC),他也提供了一些您也许不了解的模式,如处理Web站点上特定页面请求或行为请求的PageController模式。
正如您对待大多数模式一样,一旦您读过许多模式,您就会认为“我已经知道那个模式了”。
也许是这样,但有一个用来引用模式的通用表达方式还是很有帮助的。
在有多个组件(由不同人开发)的大型项目中,该类引用是一项很好的帮助。
UMLDistilled(MartinFowler)
UMLDistilled:
ABriefGuidetotheStandardObjectModelingLanguage(MartinFowler;
Addison-Wesley2003年)
UML精粹:
标准对象语言简明指南(第3版)
(徐家福译,清华大学出版社,2005年)
对于专业的程序员来说,UML是一门很重要的通用可视化沟通语言,但是它被过度使用和草率地滥用了。
您无需对使用UML沟通了解太多。
Martin对UML的提炼为您提供了最核心的东西。
事实上,前后的封页提供了常规基础上可能使用到的所有东西。
该书中UML例子的代码都是Java代码。
Test-DrivenDevelopment:
ByExample(KentBeck)
ByExample(KentBeck;
Addison-Wesley2002年)
测试驱动开发(中文版)
(崔凯译,中国电力出版社,2004年)
测试优先编程将使编程发生革命性变化,能助您成为更好的程序员。
在写代码之前编写测试开始很难,但却是一项威力强大的技能。
通过优先编写测试,可使代码更加简单,并确保从一开始它就能工作(Beck实践着他提倡的测试优先,与人合写了JUnit,这是Java语言最流行的测试框架)。
Beck的书是权威的参考资料,扩展了的Money例子也用Java语言写成。
Beck详述了如何用测试优先进行
思考(这也许是许多程序员首先遇到的障碍)。
ThePragmaticProgrammer:
FromJourneymantoMaster(AndyHuntandDaveThomas)
FromJourneymantoMaster(AndrewHunt和DavidThomas;
Addison-Wesley1999年)
程序员修炼之道——从小工到专家
(马维达译,电子工业出版社,2004年)
做一个纯粹的面向对象开发人员有其优势所在。
在当今复杂的社会中,作为Java语言开发人员,为完成任务常要妥协。
Hunt和Thomas探讨了如何不将真正重要的东西妥协
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序员 15 自学 书籍 推荐