JAVA程序员必看的15本书JAVA自学书籍推荐.docx
- 文档编号:10906595
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:12
- 大小:26.76KB
JAVA程序员必看的15本书JAVA自学书籍推荐.docx
《JAVA程序员必看的15本书JAVA自学书籍推荐.docx》由会员分享,可在线阅读,更多相关《JAVA程序员必看的15本书JAVA自学书籍推荐.docx(12页珍藏版)》请在冰豆网上搜索。
JAVA程序员必看的15本书JAVA自学书籍推荐
JAVA程序员必看15本书-JAVA自学书籍推荐
作为Java程序员来说,最痛苦事情莫过于可以选取范畴太广,可以读书太多,往往容易无所适从。
我想就我自己读过技术书籍中挑选出来某些,按照学习先后顺序,推荐给人们,特别是那些想不断提高自己技术水平Java程序员们。
此外,人们可以加QQ,互相分享一下关于JAVA方面知识。
一、Java编程入门类
对于没有Java编程经验程序员要入门,随便读什么入门书籍都同样,这个阶段需要你迅速掌握Java基本语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。
用很短时间迅速过一遍Java语法,连懵带猜多写写代码,要“知其然”。
1、《Java编程思想》
在有了一定Java编程经验之后,你需要“知其因此然”了。
这个时候《Java编程思想》是一本让你知其因此然好书,它对于基本面向对象知识有比较清晰交待,对Java基本语法,基本类库有比较清晰解说,可以帮你打一种良好Java编程基本。
这本书缺陷是实在太厚,也比较罗嗦,不适合当代人快节奏学习,因而看这本书要懂得取舍,不是每章每节都值得一看,挑重点进一步看就可以了。
2、《AgileJava》中文版
这本书是出版社送给我,我一拿到就束之高阁,放在书柜一页都没有翻过,但是前两天整顿书柜时候,拿出来一翻,居然发现这绝对是一本好书!
这本书一大特点是以单元测试和TDD来贯穿全书,在教你Java各种重要基本知识过程中,潜移默化影响你编程思维走向敏捷,走向TDD。
此外这本书成书很新,以JDK5.0语法为基本解说,要学习JDK5.0新语法也不错。
还有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲内容太多,这本书选取内容以及内容多寡都很得当,可以让你以至少时间掌握Java最重要知识,顺便培养出来先进编程思路,真是一本不可多得好书。
虽然作者自己把这本书定位在入门级别,但我不拟定这本书用来入门是不是稍微深了点,我自己也准备有空时候翻翻这本书,学习学习。
二、Java编程进阶类
打下一种良好Java基本,还需要更多实践经验积累,我想没有什么捷径。
有两本书值得你在编程生涯这个阶段阅读,培养良好编程习惯,提高你代码质量。
1、《重构改进既有代码设计》
这本书名气很大,不用多简介,可以在闲暇时候多翻翻,多和自己实践互相印证。
这本书对产生影响是潜移默化。
2、《测试驱动开发byExample》
本书最大特点是很薄,看起来没有什么承担。
可以找一种周末下午,一边看,一边照做,一种下午就把书看完,这本书所有例子跑完了。
这本书作用是通过实战让你培养TDD思路。
三、Java架构师之路
到这个阶段,应当已经非常娴熟运用Java编程,并且有了一种良好编程思路和习惯了,但是也许还缺少相应用软件整体架构把握,当前就是迈向架构师第一步。
1、《ExpertOne-on-OneJ2EEDesignandDevelopment》
这本书是RodJohnson成名著作,非常典型,从这本书中代码诞生了springframework。
但是好像这本书没有中译本。
2、《ExpertOne-on-OneJ2EEDevelopmentwithoutEJB》
这本书由gigix组织翻译,多位业界专家参加,虽然签名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。
以上两本书都是RodJohnson典型名著,Java架构师必读书籍。
在所推荐这些书籍当中,是看过最仔细,最认真书,当时读这本书几乎是废寝忘食一气读完,有小时候挑灯夜读金庸武侠故事劲头,书中所讲内容和自己经验知识一一印证,又被无比精辟总结出来,读完这本书后来,有种被打通经脉,功力爆增感觉。
但是日后看过某些其她人评价,似乎阅读体验并没有那么high,也许是由于每个人知识积累和经验不同导致。
那个时候刚好是经验知识积累已经足够丰富,但是还没有系统整顿成型,让这本书一梳理,立即形成完整知识体系了。
3、《公司应用架构模式》
Martin又一本名著,但这本书只是泛泛看了一遍,并没有仔细看。
这本书似乎更适合做框架人去看,例如如果打算自己写一种ORM话,这本书是一定要看。
但是做应用人,不看貌似也无所谓,但是如果有空,还是推荐认真看看,会让懂得框架为什么要这样设计,这样层次可以晋升到框架设计者角度去思考问题。
Martin书向来都是推崇,但是从来都没有像RodJohnson书那样非常认真去看。
4、《敏捷软件开发原则、模式与实践》
UncleBob名著,敏捷典型名著,这本书比较特别,与其说是讲软件开发过程书,不如说讲软件架构书,本书用了很大篇幅讲各种面向对象软件开发各种模式,个人觉得看了这本书,就不必看GoF《设计模式》了。
四、软件开发过程
理解软件开发过程不单纯是提高程序员个人良好编程习惯,也是增强团队协作基本。
1、《UML精粹》
UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要工具。
但是UML真正实用图不多,看看这本书已经足够了,完全没有必要去啃《UML顾客指南》之类东西。
要提示人们是,这本书中译本翻译非常之烂,建议有条件看英文原版。
2、《解析极限编程拥抱变化》XP
这是KentBeck名著第二版,中英文对照。
没什么好说,必读书籍。
3、《统一软件开发过程》UP
其实UP和敏捷并不一定冲突,UP也非常强调迭代,测试,但是UP强调文档和过程驱动却是敏捷所不取。
不论怎么说,UP值得去读,毕竟在中华人民共和国真正接受敏捷公司很少,还是需要用UP来武装一下自己,哪怕是披着UPXP。
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 (byJoshuaBloch)
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,年)
Java编程思想:
第3版 (陈昊鹏等译;机械工业出版社,年)
Eckel书对于学习如何在Java语言环境中使用好面向对象技术极其实用。
书中大量代码样例解释了她所简介概念。
文字出自一种并不以为Java技术总是对的答案人,因此相本地实用。
Eckel具备各种语言大量经验,尚有用面向对象方式进行思考夯实技能。
本书将这些技能放到实用Java语言环境中。
她还在写一本新书,名为 ThinkinginEnterpriseJava。
EffectiveJava(JoshuaBloch)
EffectiveJava:
ProgrammingLanguageGuide(JoshuaBloch;Addison-Wesley,年)
EffectiveJava中文版 (潘爱民译;机械工业出版社,年)
本书是理解先进Java程序设计原则最佳书籍。
大多数材料从其她“学习Java”书中主线找不到。
例如,Bloch书中关于覆盖equals()这一章是我读过最佳参照资料之一。
她也在书中涉及了很实用建议:
用接口代替抽象类和灵活使用异常。
Bloch是Sun公司Java平台库架构师,因此她透彻地理解这门语言。
事实上,她编写了该语言中大量有用库。
本书必读!
TheJavaProgrammingLanguage(KenArnold,JamesGosling,DavidHolmes)
TheJavaProgrammingLanguage(KenArnold,JamesGosling,DavidHolmes;Addison-Wesley,年)
Java编程语言(第3版) (虞万荣等译,中华人民共和国电力出版社,年)
这也许是能弄到最佳Java入门读物。
它并不是一种原则规范,而是一本简介每门语言特性可读书籍。
这本书在严谨性和教诲性方面权衡得较好,可以让懂编程人迅速被Java语言(和其丰富类库)所吸引。
ConcurrentProgramminginJava:
DesignPrinciplesandPatterns(DougLea)
ConcurrentProgramminginJava:
DesignPrinciplesandPatterns,2ndedition(DougLea;Addison-Wesley,1999年)
Java并发编程—设计原则与模式(第二版) (赵涌等译,中华人民共和国电力出版社,年)
不是每个开发人员都需要如此细致地理解并发性,也不是每个工程师都能达到本书水准,但却没有比本书更好关于并发性编程概述了。
如果您对此感兴趣,请从这里开始。
Lea是SUNY一名专业程序员,她和并发性关于作品和想法都包括在了JDK5.0规范(引自JSR166)中,因此您大可放心,她所说关于有效使用Java语言建议是值得一听。
她是一种很善于沟通人。
ExpertOne-On-OneJ2EEDesignandDevelopment(RodJohnson)
ExpertOne-On-OneJ2EEDesignandDevelopment(RodJohnson)
WROX:
J2EE设计开发编程指南 (魏海萍译,电子工业出版社,年)
对于刚接触J2EE人来说,这是唯一一本如实反映这项技术书。
本书收录了近年成功经验和失败经验,不同于其她许多作者,Johnson乐于将失败经验公诸于众。
J2EE经常都被过度使用。
Johnson书能帮您避免这一点。
Refactoring(MartinFowler,KentBeck,JohnBrant,WilliamOpdyke,DonRoberts)
Refactoring:
ImprovingtheDesignofExistingCode(MartinFowler,KentBeck,JohnBrant,WilliamOpdyke,DonRoberts;Addison-Wesley,1999年)
重构:
改进既有代码设计(中文版) (侯捷等译,中华人民共和国电力出版社,年)
Fowler写了几本现已出版最流行编程书,涉及 AnalysisPatterns。
她关于重构 书是这一主题基本书籍。
重构代码是被程序员忽视训练,但却是程序员最直观想法。
重构是在不变化代码成果前提下改进既有代码设计。
这是保持代码整洁最佳方式,用这种办法设计代码总是很容易修改。
什么时候进行重构呢?
当代码“散发出味道”时。
Fowler书里满是Java语言代码例子。
许多Java语言集成开发环境(IDE)(涉及了IBMEclipse)都将Fowler重构包括了进去,每一种都使用她重构名命名,因此熟悉如extractmethod 等重构办法还是很值得。
DesignPatterns(ErichGamma,RichardHelm,RalphJohnson,JohnVlissides)
DesignPatterns:
ElementsofReusableObjectOrientedSoftware(ErichGamma,RichardHelm,RalphJohnson,JohnVlissides;Addison-Wesley,1997年)
设计模式:
可复用面向对象软件基本 (李英军等译,机械工业出版社,年)
这是一本在专业程序员圈子里更为有名书,基于作者共同绰号,这本书被以为是“四人帮(GOF)之书”。
模式是思考和解决普通编程问题时可以重用方式。
学习模式是一门学科。
使用好模式(或懂得什么时候不使用模式)是一项技能。
忽视模式则是错误。
书中所有例子都以C++表达,但Java语言是从那里诞生,让Java语言程序员由此联系到如何在Java语言中实现这些模式相对简朴某些。
熟悉模式并理解如何使用好模式使编程更加简朴。
这使得和其她程序员交流也更简朴,由于在针对通用问题通用解决方案中,模式是描述解决方案中彼此协作大量有关编程概念快捷方式。
某些更为通用方式,如工厂办法 则是普便存在,甚至存在于Java语言自身。
关于明智使用模式这个主题,也可以阅读JoshuaKerievsky RefactoringtoPatterns,该书称可以让代码来告诉您何时实现模式。
PatternsofEnterpriseApplicationArchitecture(MartinFowler)
PatternsofEnterpriseApplicationArchitecture(MartinFowler;Addison-Wesley,年)
公司应用架构模式 (王怀民等译,机械工业出版社,年)
比起小型、一次性项目来说,公司开发固然代表了更大挑战。
那并不意味着公司开发带来所有挑战都是新挑战。
事实上有些时候,这项开发已经 是此前完毕过了。
Fowler做了诸各种这样项目。
她书提到了某些通用解决方案,并提供了关于使用、折中和可选方案指引。
Fowler在书中包括了某些熟悉模式,如模型视图控制器(MVC),她也提供了某些您也许不理解模式,如解决Web站点上特定页面祈求或行为祈求PageController模式。
正如您对待大多数模式同样,一旦您读过许多模式,您就会以为“我已经懂得那个模式了”。
也许是这样,但有一种用来引用模式通用表达方式还是很有协助。
在有各种组件(由不同人开发)大型项目中,该类引用是一项较好协助。
UMLDistilled(MartinFowler)
UMLDistilled:
ABriefGuidetotheStandardObjectModelingLanguage(MartinFowler;Addison-Wesley年)
UML精粹:
原则对象语言简要指南(第3版) (徐家福译,清华大学出版社,年)
对于专业程序员来说,UML是一门很重要通用可视化沟通语言,但是它被过度使用和草率地滥用了。
您无需对使用UML沟通理解太多。
Martin对UML提炼为您提供了最核心东西。
事实上,先后封页提供了常规基本上也许使用到所有东西。
该书中UML例子代码都是Java代码。
Test-DrivenDevelopment:
ByExample(KentBeck)
Test-DrivenDevelopment:
ByExample(KentBeck;Addison-Wesley年)
测试驱动开发(中文版) (崔凯译,中华人民共和国电力出版社,年)
测试优先编程将使编程发生革命性变化,能助您成为更好程序员。
在写代码之前编写测试开始很难,但却是一项威力强大技能。
通过优先编写测试,可使代码更加简朴,并保证从一开始它就能工作(Beck实践着她倡导测试优先,与人合写了JUnit,这是Java语言最流行测试框架)。
Beck书是权威参照资料,扩展了Money例子也用Java语言写成。
Beck详述了如何用测试优先进行 思考(这也许是许多程序员一方面遇到障碍)。
ThePragmaticProgrammer:
FromJourneymantoMaster(AndyHuntandDaveThomas)
ThePragmaticProgrammer:
FromJourneymantoMaster(AndrewHunt和DavidThomas;Addison-Wesley199
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序员 15 自学 书籍 推荐