java进阶书籍推荐,谁给推荐几本java进阶的书籍?
java进阶书籍推荐,谁给推荐几本java进阶的书籍?详细介绍
本文目录一览: 学Java有哪些好的书籍
一、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的成名著作,非常经典,从这本书中的代码诞生了。但是好像这本书没有中译本。
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的,把这三种理论融为一炉,形成自己的理论体系,那么你也可以去写书了。
五、软件项目管理
如果你突然被领导提拔为项目经理,而你完全没有项目管理经验,你肯定会心里没底;如果你觉得自己管理项目不善,很想改善你的项目管理能力,那么去考PMP肯定是远水不解近渴的。
1、《快速软件开发》
这也是一本名著。可以这样说,有本书在手,你就有了一个项目管理的高级参谋给你出谋划策,再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的,在实际的项目管理中,讲这些理论是不解决问题的,这本书有点类似于“软件项目点子大全”之类的东西,列举了种种软件项目当中面临的各种问题,以及应该如何解决问题的点子,你只需要稍加变通,找方抓药就行了。
六、总结
在这份推荐阅读书籍的名单中,我没有列举流行的软件框架类学习书籍,例如Struts,Hibernate,Spring之类,也没有列举AJAX方面的书籍。是因为这类书籍容易过时,而上述的大半书籍的生命周期都足够长,值得你去购买和收藏。
谁给推荐几本java进阶的书籍?
《Java编程思想》
这本书适合开发过一两个项目,对java已经有一定的了解的人。这本书首先不是java的入门书,虽然这本书介绍了一部分语法,但是更多内容是java特性的讲解,里面的用例水平非常高,对于面向对象讲解,接口,内部类,容器,多线程,I/O的讲解很透彻同时又很深刻,他会告诉你,在什么情况下你应该作何选择。以及各种选择的利弊。这本书不适合从头看到尾,适合在迷惑不解的时候,带着疑问去翻,让你的求知欲带着你去看书,而不是给自己定一个Java编程思想的读书计划。
《深入剖析Tomcat》
试读人群:做过两三个项目,对面向对象设计有一定了解,设计模式似懂非懂,想好好看看什么是面向接口编程,对serlet的加载,映射,及整个http请求处理流程感兴趣,不能容忍自己的知识体系存在黑箱的人。认为Java后台开发仅仅是CRUD的人。Tomcat大家都很熟悉了,不论我们做的课程设计的小项目,还是淘宝天猫等每天PV访问量过亿的大型网站都在用,你还敢瞧不起它吗?还是认为入门的技术不值一提吗?
你可能更换数据库框架,mvc框架,容器,但是很少有人换掉Tomcat。为什么,因为她是一个优秀的设计(帮你做了很多,但在可定制性方面不如Jetty)。
这本书从一个简单的socketB/S程序入门,作者从头编写连接器,处理器,请求(request),处理(response)开始讲解tomcat的设计理念,中间讲Tomcat4及5的源码,讲解tomcat核心的设计Container四大容器,然后讲解tomcat安全,权限,以及配置文件的读取,java对象的管理,定制性Tomcat项目管理的后台(就是你访问tomcat路径的根路径进入的管理网站)。这本书适合于,心无旁骛,没有项目,没有太多事的情况下,对照实际的源码,一行行的读,明白处理流程,了解什么时候是优秀的代码?扩展性,健壮性
《深入理解Java虚拟机》
适度人群:想学习并发编程,反射,想了解JVM优化。闲着无聊,没项目的人首先这本书可能有点枯燥,没有什么用,真的,对于你现在的实际项目没有直接用处,但是,你要想在java方面研究得更深,不可避免,你需要对jvm及其优化,java的内存模型,java类的加载机制,字节码文件到底是什么,以及并发编程,Java性能优化等方面有所了解。,你需要好好读这本书,可能比较枯燥,有点难,但是他值得你用心读。
《设计模式-可复用软件的设计》GoF(《设计模式的艺术之道》刘伟)
适读人群:有过三四大小个项目经验,想了解什么是软件,什么是程序,什么是面向对象,只有读了这本书,你才知道除了算法,性能,之外,我们还要为之奋斗是扩展性,究其原因是:软件行业的梗,需求变更,可能项目初期的需求和项目开发后期的需求有天壤之便,但如何在设计阶段就为需求的变动做好准备,那就是对变化的部分抽离抽象,分层,分工,虽然提高了复杂度,但是后期我们可以轻松一点,如果前期不设计好,真的一个项目可以在需求变化面前,彻底玩完。根本无法继续开发。如果你还没接触到需求变更,只能说你的客户不太重视他的项目,或者客户本身就是程序员自己。一个main函数一个人从头写到尾绝对不是软件。作者从创建型,结构性,行为型三个方面详细介绍了23种设计模式,字字珠玑,耐心的看,耐心的理解,把这本书和Java编程思想放在一起,没事就翻翻看,没准哪一天你在写程序,发现,如果我这么设计,后面的开发我可以非常轻松的。那时,你一定要感谢作者总结了这些设计模式。可能GOF的书距今不叫遥远,设计案例比较陈旧,所以可以同时看《设计模式的艺术之道》这本书同样不错,例子可能更容易理解一些。
软件行业的圣经之作,只要你做技术,你应该时常翻翻看。
《JavaScript编程全解》(JavaScript高级程序设计)
适读人群:学会基本的javascriptdom编程,jquery,做过两三个项目,但是没有系统的学习javascript,总是在为一些语法,或者莫名其妙的错误烦恼的人,这本书绝对适合你,应为他就是写给java程序员的Javasript书籍。Java程序员进阶,为什么要谈JavaScript,我个人不喜欢JavaScript,应该我找了半天错,可能就是因为一个简单的语法错误,还有就是只能操作控件,我一直希望前端人员可以帮我做这些事,后来发现这几乎不可能,JavaScript还得自己写,可能以后工作之后,更得自己写,所以我想系统学习下script,后来这本书真的没有让我失望,这本书后面高级部分还没来得及看,但是仅仅在讲述JavaScript的语法特性,就有一种如沐春风的感觉,良心之作。
有事没事的可以看看。当然这本书并没有侧重于dom编程,可能我们做的更多是dom编程,所以我还推荐你可以看看JavaScript高级程序设计。我看我们前端美女帅哥都在看这书,应该还不错,就是有点厚,但是说明讲的详细,可以做工具书。
《深入分析javaweb技术内幕》
适读人群:做过三四个项目,看过上面的深入剖析Tomcat,深入理解Java虚拟机,设计模式,使用过Spring,mybatis的读者。这本书的水平真是很高,说实话,看这本书的时候,我几乎流下了眼泪,我能感受到作者真的是用心在写书,不是为了出版赚版权费,不是为了装X,而是真的是希望自己当年吃过的苦,别人能少吃一点,别人可以学的更轻松。尤其是作者的细致认真,用工匠精神来说,一点不为过,同时再加上当时看Tomcat源码时的感想,可以总结一句话,一个优秀的程序员在每一个细节都精益求精。在他们的知识体系里,永远不能容忍一个小漏洞存在,在细节处着手,踏踏实实的写好每一行代码。把每一个有疑问的点都在合适的时机解决掉。作者在细节上击败了我。
同时不光在细节上,作者详细讲述了Javaweb中的技术方向,多得数不清,但是每一章你都感觉不到作者的疏漏与不足。博广精专,这就是本书的作者值得我们学习的
本文目录大概包括JavaI/o,字节码,编译,jvm,tomcat,spring,ibatis,等等。
《重构改善既有代码的设计》
适读人群:挣扎于需求剧烈变更,维护升级的孩子们。这本书与设计模式并成为软件行业的两本圣经,虽然我不这么认为,但是毋庸置疑,当你看完这本书,之后,你会更关注你写的代码的的结构,这两本书都是让我们可以写出可维护,可扩展,健壮性强的代码,这本书就是教你如何修改代码,如何修改能够引入更少的错误,同时更加容易维护。作者讲述很多的技巧,实用性极强,但是如果你写的项目变动不是很大,或者没有一些修改代码的苦痛的经历,可能体会不会很深,这是一本独立性比较强的书,看一看是绝对值得的。
《操作系统设计xinu方法》
适读人群:学习完操作系统课程,想深入了解下操作系统内部的细节,如何实现线程调度,内核态用户态转化到底是什么,消息循环,进程管理,等等,你都可以看。这是一本用C语言写的书,但是身为Java程序员,最起码得会C语言,看了这本书有什么好处呢,说实话,对Java的面向对象开发没有什么帮助,他的帮助仅仅是在于你对操作系统的了解更加深刻,当你去看JVM的时候,可能会轻松一点点,同时他也在告诉你,其实操作系统并没有那么高不可攀,你就可以从源代码级别看懂操作系统。同时可能,我觉得当你编写程序到一定级别后,走上架构师之路,操作系统绝对是知识体系中不可避免的一个重要环节。现在可以打个基础。这本书适合于操作系统课程上完一大半之后在读。
一点都不难,真的!
《超越传统的软件开发-极限编程的幻想和真实》(《解析极限编程-拥抱变化》《人月神话》)
这三本书都是软件工程方向的书籍,关注于如何构造高效开发流程。在这方面我懂得很少,我会找别人再来给大家完善这方面的知识,但是这三本书肯定都不难,有过项目领导经验的人来看,收获一定会更多,其他人随便看看,你会收获很多,例如,测试先行,结对编程,螺旋开发,循环迭代,不断优化的理念。等等《Java程序性能优化》
适读人群:做项目三四个以上,了解java内存模型,以及初步掌握多线程编程,再有就是速度狂们。这本书从一些编程技巧,性能优化的理念,以及多线程并发编程的一些设计模式入手,讲解了如何找到项目性能的瓶颈,如何提升系统吞吐量,从细粒度,编程角度去思考这些问题,(而不是分布式处理),真的尤其是后面的多线程部分,如沐春风,激起了我对并发编程的兴趣。
《Java并发编程》(《java多线程编程的艺术》)
适读人群:想深入学习并发编程,对jvm内存模型有了解(深入理解jvm虚拟机内本书很重要)速度狂,对java已经有了不错的感觉,感觉可以代码水平需要更上一层楼的人Java并发编程是Java并发包的作者写的,java.util.concurrent大名鼎鼎,很有名的,学习并发编程的圣经之作,但是不太适合入门,入门需要看看后面的java多线程编程的艺术,一行行的代码,一个个的小技巧,慢慢来,并发编程绝对是是否是高级程序员的一个评判标准。
Java并发编程,你应该时常翻翻看。
《深入分析Spring技术内幕》
适读人群:熟悉精通设计模式,对面向接口,对象编程特别有感觉的人。时间充裕这本书,让我为之震颤,震颤的原因不是因为这本书讲解多么细致,清晰,而是Spring的开发团队为什么把Spring搞得这么复杂,面对一个个的UML图,我真的是很捉急,表示看不懂,可能是我本人比较笨。但是要想读懂这本书,还真需要长时间的阅读,思考。但是
正如那句话,当你感觉生活艰难的时候,可能你在拔一个大萝卜,当你真的透彻了Spring,你就不可限量了。国内,应该没有比这本书更系统从源代码级别详细讲解Spring的了。
《EJB3.0入门经典》
适读人群:闲着没事的人.这本书放在最后,不是因为他重要,而是因为这本书无关紧要,为什么呢,因为现在的开发,可以不适用EJB,但是你了解他之后,你就明白了什么是分布式程序,什么是程序的分布式部署。同时你还会知道除了Spring容器还有一种容器叫做EJB,而是还是J2ee的嫡长子,还会明白,为什么在j2ee领域让野孩子Spring抢了风光。当你学会对比学习两个框架的时候,可能你真的是一个大神了。Spring和EJB就是可以对比的。SpringMVC和Struts,
Hibernate和mybatis,等等,只有学会对比,才会看得更加广阔.但首先还是要踏实
《架构探险,从零开始Javaweb框架》
适读人群:想写框架,对反射,对集合比较熟悉的人;你可以把这本书,当做自己设计框架的入门书,可以看到一个框架的编写是多么的简单,你应该也学会参与开源项目,这本书不难,但是需要用心去读。需要边看边敲代码。什么是Aop,事务处理,mvc框架,等等等等,作者的编码水平高,实在太高,同时讲解的也很透彻
《j2ee核心模式》
适读人群:闲着没事,想开发框架的大神这是Sun公司出版的一本书,对于J2ee的开发非常有指导性,里面总结了一些非常实用经过实践检验的设计思想,设计技巧,有很多你应用了但是你没有注意到,例如,一个不好的实践是控制层有太多的逻辑代码,这种情况下,视图层需求的变动很容易影响到控制层,而你如果利用好”传输对象“这个设计技巧,就可以把需求变化控制在业务处理层和视图层,
(传输对象正如其名,仅仅是一个容器,里面载入了大家需要的各种数据)
有很多你使用的框架应用了,你也没有注意到,例如前端控制器模式
我在做微信开发的时候就不曾理解微信为什么只能定义一个接口,后来的实践告诉我
正是这种模式,才能让我们的控制层与Servlet解耦,我们借助于这个前端控制器拦截请求,
将请求转发到我们的控制器中,甚至你有兴趣可以自己封装request,response,等,事实上
SpringMVC框架就是利用了前端控制器DispathcerServlet将请求映射到controller中。
这本书后面还会介绍jsp中的一些优秀实践,EJB的实践,EJB这部分可以看看数据处理部分。
但是可能没有做过EJB项目的读者,不会收获太多。
《高性能MySQL》(Mysql技术内幕-Innodb引擎)
适度人群:熟练使用Sql,有一般数据库设计经验,对索引,mysql原理,及常用优化方法感兴趣,以及有志于成为DBA的同学。谈java还是离不开数据库的,开发中会遇到很多数据库相关问题,尤其是索引部分,这本书介绍的很是透彻,从数据类型,索引原理,联合索引设计的陷阱,常用优化方法,等方面来谈,都是可以直接应用到实际工作中的经验。对于后面偏架构运维章节,可根据个人兴趣工作需要而定。
第二本书偏原理,能直接应用于工作的很少,但是读完之后,还是让人感觉思维焕然一新,可能感受一下mysql的设计,对于自己以后设计类似功能(事务实现,缓冲池实现,todo,undo..,锁.等)会有很大借鉴意义。
推荐一些java入门的书籍
疯狂java
java编程思想
以前在远标学习时都会推荐看这些:
一、基础类
1、《Thinking in java》,入门第一位是建立正确的概念。
2、《Core Java》,我没系统读过,这本书更贴近实践,更多API的介绍,同样,更新也更频繁。
二、进阶类
1、《Effective Java》,在熟悉语法、API之后,你需要知道最佳实践和陷阱,没有比这本更好的。
2、《Java Puzzlers》,通过谜题介绍一些你可能没有注意到的边角料,作为趣味读物也不错
3、《深入Java虚拟机》,翻译一般,但不可不读,最好结合最新的JVM规范来读。
三、特定领域
1、网络编程:
(1) O’Reilly的《Java nio》,很多人都推荐,我个人觉的一般,基本上只是个API更详细的说明文档,O’reilly的java系列很多都是这样。
(2)推荐这本《Fundamental networking in java》,由浅入深教你怎么做java网络编程,并且介绍很多背景知识,甚至介绍了各种最佳实践、网络编程模型以及Java socket在不同平台之间的差异等等。
2、并发编程:
(1)《Java Concurrency in Practic》,并发领域必读经典。
(2)《Java并发编程:设计原则与模式》,同样是Doug lea的作品。
(3) 《java threads》,入门读物。
3、、模式与设计
1、《设计模式》,GOF的经典。
2、《设计模式精解》,应该有最新版,个人认为更适合入门。
3、《Head first设计模式》,更轻松的入门读物。
4、《企业应用架构模式》
5、《分析模式——可复用对象模型》
6、《面向模式的软件体系结构》,国内貌似翻译了3卷,绝对经典,可惜翻译较差。
7、《重构——改善既有代码设计》,想写好代码必读。
8、《重构与模式》
4、方法论
1、《敏捷软件开发》
2、《测试驱动开发》,你不一定要TDD,但是你一定要学会做单元测试。
3、《Agile Java》,也可以作为java入门读物。
4、《快速软件开发》
5、《面向对象分析与设计》,OO设计必读。
6、《Unix编程艺术》,打开你的眼界。
5、Java之外
1、《unix网络编程》,学习网络编程必读书。
2、《C++网络编程》上下两卷,介绍ACE的,但是其中对各种模式运用的介绍非常值的一读。
3、《Joel说软件》,编程文化
4、《人月神话》、《人件》
5、《卓有成效的程序员》,给我很大启发的一本书。
6、《程序员修炼之道》
7、《计算机程序的构造与解释》,必读
8、《算法导论》,可以作为参考书
9、《深入理解计算机系统》
10、《编译原理》龙书,最新版用java解释。
自学java的j2ee,有哪些比较经典的书籍推荐?
0》- 非常推荐*
《Enterprise Java Bean》- 推荐*
五、进阶
《Java Cook Book》- 非常推荐* (包含了Java编程的Tips一、Java XML编程
《O’reilly-Java and XML》- 推荐*
《O’reilly-Java and SOAP》- 参考* (Java的SOAP编程)
六、Java Web编程
《O’reilly-Java Server Pages》- 强烈推荐*
《O’reilly-Java Servlet Programming》- 非常推荐*
《O’reilly-Jakarta Struts》- 推荐* (Java Web编程的一个MVC实现框架Struts的书)
四,设计企业应用软件必备参考书)
《EJB Design Patterns》- 推荐*
七、入门
《Java 2从入门到精通》- 推荐
《Thinking in Java》- 强烈推荐*
O’reilly的Java编程基础系列 - 参考*
二、EJB编程
《J2EE应用与BEA Weblogic Server》- 强烈推荐
《Mastering EJB 2、设计模式
《Core J2EE Patterns》- 强烈推荐* (J2EE设计模式、其它
《O’reilly Ant - The Definitive Guide》- 推荐* (Ant是一种功能非常强大的Java工具)
望采纳,适合当做手册来查阅)
《O’reilly-Java IO》- 推荐* (包含Java IO编程的各个方面)
《O’reilly-Database Programming with JDBC》- 推荐* (JDBC编程)
《O’reilly-Java Programming with Oracle JDBC》- 参考*
三
think in java 比较经典,还是建议你看一些视频,这样有图有真相,书籍看到代码是片段,不能看全局,对于新手不知道代码写的什么,希望对你有帮助! 可以参考 分享java视频
java编程思想
java从入门到精通
网页链接
上面是oracle 官方教程
这是pdf下载地址 祝你收获满满!
一、初级入门篇
1.《Java编程思想》 适用于初级、中级
Java编程思想第四版中文版完整版.pdf是全球程序员必备图书,被china-pub会员评为“2007年我最喜爱的十大技术图书”之一.。
2.《Java核心技术:卷I基础知识》 适用于初级、中级
Java领域最有影响力和价值的著作之一,拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第9版根据JavaSE7全面更新,同时修正了第8版中的不足,系统全面讲解Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。
二、中高级进阶篇
1.《数据结构与问题求解(java语言版)》 适用于:初级、中级、高级
本书从抽象思想、问题解决以及java编程语言使用的观点介绍了数据结构和算法。本书中包含了java的最新特性,任何地方都可以完全使用标准模板库(STL)。本书开始引入问题,分析问题,然后如何解决问题。我个人觉得是一本好。不过里面有些印刷错误哦。
2.《Java与模式》 适用于:中级、高级
难得一见的国人写的Java好书。主要讲解设计原则以及最为常见的设计模式的实用教材。这本书出现的比较早,是初级到中高级必读的图书之一。
3.《UML构建web应用》适用于:中 高级
本书的主要目的是讲述如何以面向对象的方式对Web应用的页面和其他Web专用组件进行建模,并且与系统中的其他模型保持一致。
4.《java核心技术:卷2》适用于:中 高级
Java领域最有影响力和价值的著作之一,拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第9版根据JavaSE7全面更新,同时修正了第8版中的不足,系统全面讲解Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。
5.《Java并发编程实战》 适用于:中、高级
这本书名为《Java并发编程实践》有些抹杀了它的价值,其中并非只讲述了Java的多线程设施,对一般的并发编程的rationale也有相当透彻的阐述。市面上并发编程的书比较少,这一本推荐阅读。
三、框架篇
《Hibernate程序高手秘笈》
本书展示了如何用Hibernate来自动化配置:写一些Java对象和简单的配置文件,Hibernate将使这些对象和数据库间的所有交互自动化……,对于想了解hibernate框架的人来说,大有益处。
《Spring技术内幕》
本书是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔!Java开发者社区和Spring开发者社区一致强烈推荐。
《Java Persistence with MyBatis 3》
MyBatis和hibernate一样也是如今流行的ORM框架之一,看完对mybatis有一个清楚认识。
谁能推荐本JAVA入门的经典书籍??
一、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核心技术thinking in java是本经典的书 但要有一定的java基础
http://www.yeshack.com/hack.php?H_name=adv&u=69449
这是地址 你自己看看把 呵呵给分把!
推荐一些JAVA入门的经典书籍,知识点全面,系统的讲述了JAVA编程
1,《Head First Java》java入门书籍
《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。但如果你真地想要好好地学习Java,你会需要《Head First Java》。这本书可是Amazon编辑推荐的十大好书之一!强烈推荐学习此书,非常适合初学者入门。
2《Java从入门到精通》适合自学者
《Java从入门到精通》这本书主要针对java基础,对于没有学过java的人才说,是一个不错的选择。通过这本书,大家可以从零开始,慢慢来学习,而且实操很多,不会让你看到最后出现只会理论的情况。为什么说培训的人不用看呢?因为这本书上的内容和许多培训机构的书籍有很多重复的地方,所以参加培训的同学就可以不看了。
3.《Thinking in java》(中文名:《Java编程思想》)适合中级自学者和培训者
《Java编程思想》可以说是最经典的java著作,是所有java程序员必备教科书。这本书不管是正在学习还是已经工作许多年的程序员,都可以从这本书中得到你想要的东西。这本书具有教材和工具书的作用,就像一本字典,想知道什么都可以从中查询。虽然这本书很好,但并不建议初学者学习,对于初学者难度较大。
4.《疯狂Java讲义》适合自学者看
《疯狂的讲义》这本书比较适合自学者,内容比较项目化,实操方法很多,如果你想进行java的深入学习,不妨看看这本书。
5.《Java核心技术》最适合报培训班的看
这本书分为两个部分,第一个部分讲的是基础知识,第二个部分讲的是高级特性。由于内容非常有层次,所以非常适合自学和上培训机构的同学学习。尤其对参加培训的同学作用较大,因为一般培训机构讲的非常快,有很多东西没办法及时消化吸收,很多基础和核心的东西就会掌握的不牢固,那么这本书正好弥补了这个缺失。
6.《Java开发实战经典》适合自学者看
这本书比较适合自学者学习,里面有很多小案例,可以边学边练,巩固知识。
哪位大佬有 《 图灵程序设计丛书:Java进阶高手(套装共8册)》电子版书籍百度网盘资源下载
509. 图灵程序设计丛书:Java进阶高手(套装共8册).epub
链接:https://pan.baidu.com/s/1N7KOc6OnRa2eujiubV_d2Q
提取码:NTBK
《 图灵程序设计丛书:Java进阶高手(套装共8册)》电子书网盘下载免费在线阅读
链接: https://pan.baidu.com/s/1N7KOc6OnRa2eujiubV_d2Q
提取码:NTBK
本套装共包含《Java 8函数式编程》、《Java技术手册(第6版)》、《Java性能权威指南》、《Java编程思维》、《Java攻略:Java常见问题的简单解法》、《精通Java并发编程(第2版)》、《Java实战(第2版)》、《Java虚拟机基础教程》8本书
有没有关于java深入一点的书推荐?
学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:
1.能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料。
2.对着书上的代码自己敲的时候方便。
“看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提炼,对于梳理学习的内容很有好处,当然这里不是说自己的学习方法,就不再扯下去了。
很多程序员们往往有看书的冲动,但不知道看哪些书,下面我就给各位Java程序猿们推荐一些好书(每本书的作者会加粗标红),其中绝大多数都是我自己平时在看的书,也算是我对于平时读的书做一个小总结和读后感吧。
首先推荐的不是一本书,而是一个博客,也是我们博客园另外一位博友java_my_life。
目前市面上讲解设计模式的书很多,虽然我前面讲了看书是最好的,但是对设计模式感兴趣的朋友们,我推荐的是这个博客。这位博友的设计模式讲得非常非常好,我认为90%的内容都是没有问题且很值得学习的,其讲解设计模式的大体路线是:
随便开篇点明该设计模式的定义
图文并茂讲解该设计模式中的结构
以详细的代码形式写一下该种设计模式的实现
补充内容
讲解该设计模式的优缺点
对于一个设计模式我们关注、学习的知识点,不就是上面这些吗?
不过我要重点提醒一下网友们,同一种设计模式的写法有多种,并不是说只有按某种写法来写才是这种设计模式。比方说适配器模式,我们关注适配器模式一定要关注的是什么是适配器模式不是怎么写适配器模式,不要认为某段代码不是按照适配器模式的写法写下来的它就不是适配器模式了,记住这一点,你在学习设计模式的时候一定会对代码中用到的设计模式有更深入的理解。
1、深入理解Java虚拟机:JVM高级特性与最佳实践
如果你不满足于做一个只会写ifelse的Java程序员,而是希望更进一步,我随便举几个例子吧:
了解Java代码的底层运行机制
定位性能问题
对整个系统进行性能调优
解决各种奇奇怪怪的线上线下问题
更加高级别的,为自己的项目量身定做一款适合自己项目的虚拟机
那么Java虚拟机是你必学的一门技术。《深入理解Java虚拟机:JVM高级特性与最佳实践》作者是周志明,这本书可以说是国内写得最好的有关Java虚拟机的书籍,近半年,前前后后这本书我起码看了有5遍。国内写虚拟机的书除了这本,其实还有一些其他的,我也买过,不过粗略看下来,很多内容也是《深入理解Java虚拟机:JVM高级特性与最佳实践》此书里面的。
另外值得一提的是,《深入理解Java虚拟机:JVM高级特性与最佳实践》这本书,有电子版的,网上搜一下就能下载到了。不过建议有兴趣的朋友还是去买书看,电子版本下载到的一般是比较老的版本,相比最新修订版的《深入理解Java虚拟机:JVM高级特性与最佳实践》,有很多作者新补充的知识点是没有的。
2、HotSpot实战
所有的Java虚拟机都是遵循着Java虚拟机规范来的,市面上的Java虚拟机几十款,《深入理解Java虚拟机:JVM高级特性与最佳实践》一书里面讲的虚拟机并不针对某种特定的虚拟机,而是从Java虚拟机规范的角度来讲解Java虚拟机。
我们平时使用的乃至商用的大多数Java虚拟机都是Sun公司的HotSpot,大家cmd进入命令行,使用”java-version”命令就可以看到了。如果希望在Java虚拟机规范的基础上更加深入地去理解虚拟机的一些细节是怎么实现的,就可以看一下《HotSpot实战》一书,作者是陈涛。不过由于HotSpot的源码都是C/C++写的,所以要求读者有非常好的C/C++基础,如果对这两门语言不是很熟悉的朋友,看这本书可能对你帮助不是很大。
最后提一句,如果有兴趣的朋友,不妨先去网上下载一个openJDK,HotSpot的源码就在里面。
3、Java并发编程实战
这本书常常被列入Java程序员必读十大书籍排行榜前几位,不过个人不是很推荐这本书。
《Java并发编程实战》作者是BrianGoetz,怎么说呢,这本书前前后后我也看了两遍左右,个人感受是:
文字多代码少
讲解多实践少
我觉得这可能就是老外写书的特点吧,因为Java是北美国家(加拿大、美国)开发和维护的,所以老外对Java方方面面的理论知识体系都掌握得是非常清楚和透彻的。翻开这本书看,多线程什么用、什么是死锁、什么是竞争、什么是线程安全等等,方方面面的知识点都用大量的文字篇幅讲解,不免让人感觉十分枯燥,也难让读者有实质性的进步。我这本书看了两遍也属于一目十行意思,有兴趣的地方就重点看一下。
无论如何,作为一本常常位于Jva程序员必读十大书籍排行榜前几名的书,还是一定要推荐给大家的。
4、java多线程编程核心技术
《Java多线程编程核心技术》作者高洪岩。想要学习多线程的朋友,这本书是我大力推荐的,我的个人博客里面二十多篇的多线程博文都是基于此书,并且在这本书的基础上进行提炼和总结而写出来的。
此书和《Java并发编程实战》相反,这本书的特点是大篇幅的代码+小篇幅的精讲解,可能这和中国人写的书比较偏向实用主义的风格有关。本书关于线程安全、synchronized、Reentrant、Timer等等都用详细的代码进行了讲解,而且每个大知识点下的多个小知识点都会详细讲解到,非常有实践价值。
有兴趣的朋友们,我相信只要你们跟着这本书里面的代码敲、运行、思考,三步走,对于多线程的使用与理解一定会进几大步。
不过这本书的缺点就是对于Java并发包下的一些类像CountDownLatch、Semphore、CyclicBarrier、Future、Callable等都没有讲到,重点的CAS和AQS也没有触及,重点类的实现原理也没有提。当然,这很深入了,在学习了这本书之后如果能再去对这些知识进行一些学习、研究的话,你一定会慢慢成长为一个很厉害的多线程高手。
5、EffectiveJava中文版
这是唯一一本我没有买的书。初识这本书,是在我的博文Java代码优化(长期更新)里面,底下评论的时候有朋友提到了这本书,当时我说要去买,不过这两个月一直都没时间去逛书店,甚是遗憾,之后肯定会找时间去买这本书的。
《EffectiveJava中文版》的作者是JoshuaBloch,这个人就很厉害了,他是谷歌的首席架构师,属于超级技术大牛级别了吧,呵呵。由于没有看过这本书,所以我不好发表评论,但是从这本书的知名度以及其作者的来头来看(多提一句,这本书也是Java之父JamesGosling博士推崇的一本书),我相信这一定是一本值得一看的好书。
好的代码是每个Java程序员都应该去追求的,不是说我今天写一段好代码相比写一段烂代码对性能会有多大的提升,更多的应该是提升了代码的可读性以及可以规避许多潜在的、未知的问题,避免代码上线之后出问题而花时间去维护—-无论从时间成本、人力成本还是风险成本来说,这都是非常高的。
6、深入分析JavaWeb技术内幕
《深入分析JavaWeb技术内幕》,作者许令波,淘宝工程师。
这本书我用一个字概括就是:全。真的非常全,HTTP、DNS、CDN、静态化、Jetty、Tomcat、Servlet、Spring、MyBatis等等,什么都有,涉及知识面非常广,但又不像专门精讲某个知识点的书籍一样讲得非常深入,感觉这本书就是尽量去用短的篇幅讲清楚一些JavaWeb使用到的技术的内幕,让读者对这些知识点的技术内幕有一个理性的认识。
不过,尽管每个知识点的篇幅都不多,但是重点都基本讲到了,是一本让人真正有收获的书。如果想进一步了解这些技术的技术内幕,就要自己去买相关书籍或者自己上网查资料了,有种抛砖引玉,或者说师傅领进门、修行在个人的感觉。
7、大型网站技术架构核心原理与案例分析
一个字评价这本书,_;两个字评价这本书,很_;三个字评价这本书,非常_。呵呵,好了,再说下去可能别人以为我是水军了。
《大型网站技术架构核心原理与案例分析》的作者是李智慧,原阿里巴巴技术专家。
Java的大多数应用都是用在Web上的,现在只要稍微大型一点的Web应用,都一定是一个分布式系统,那么一个分布式系统用到了哪些技术?一个大型网站是如何从一个小型网站成长起来的?如何保证你的网站安全?分布式系统使用到了缓存,有哪些缓存?缓存的使用有哪些值得注意的事项?
关于分布式的知识点,都在这本书里面有体现,只有你想不到,没有他写不到,而且写得非常易懂,基本属于看一两遍,再记一些笔记就知道是怎么一回事儿了。多看几遍,对分布式的理解一定会加深不少。而且里面不仅仅是分布式的知识,还非常接地气地写了如何做一个好的架构师,其实我认为这不仅仅是写给想做架构师的读者看的,就是给读者一些建议,如何更好地提出意见、如何更让别人关注你的声音、如何看到他人的优点,入木三分,让人获益匪浅。
8、大型网站系统与Java中间件实践
《大型网站系统与Java中间件实践》作者曾宪杰,是淘宝的技术总监,算起来应该在阿里有至少P8的级别了吧。
这本书的部分内容和上面一本李智慧的《大型网站技术架构核心原理与案例分析》有所重合,像分布式系统的演化、CDN、CAP理论和BASE理论等等,这也更说明这些都是分布式系统或者说是一个大型网站重点关注的内容,当作一次再学习也不错。
本书要突出的重点是中间件三个字,中间件是分布式系统中一个非常重要的东西,其最重要的作用应该就是解耦,降低模块与模块之间的强依赖,不同的模块之间的依赖度降低,便可以各自独立地开发自己的功能,这也可以说是软件工程发展的目标和驱动力。
因此,本书有一部分的内容就是基于中间件,详细讲解了中间件与JMS的各种知识,适合对分布式系统比较熟悉并且想要往中间件方面有一定研究的读者。
9、从Paxos到ZooKeeper分布式一致性原理与实践
《从Paxos到ZooKeeper分布式一致性原理与实践》,作者倪超,阿里巴巴工程师。
这本书是我最近在研读的一本书,和上面的《大型网站系统与Java中间件实践》一样,属于分布式组件的范畴,属于有些深入的内容,当然也是我自己的个人兴趣。当然,如果有志向做一个出色的大型网站架构师、公司的技术总监之类,这些知识当然是必须掌握的。
本书从分布式系统基本理论开始讲起,讲到Paxos算法,最后慢慢引入到Zookeeper,循序渐进。当然,更多的我目前还不方便发表什么看法,因为这本书的第二张Paxos算法我都还没有弄懂(Paxos算法确实有些难以理解和不太易懂),接下来的章节还没有看下去。
如果网友们所在的公司在使用Zookeeper,并且你又对Zookeeper感兴趣想要研究一下它的原理的,这本书将是不二之选。
10、MySQL5.6从零开始学
《MySQL5.6从零开始学》,作者刘增杰和李坤。
作为一名Java程序员,我认为我们千万不要觉得数据库是DBA的事情,数据库对一个Java程序员来说也是必须掌握的一门知识,丰富的数据库性能优化经验是一个顶尖程序员必备技能。
目前主流的数据库有Oracle和MySQL,当然推荐大家的是MySQL,主要原因我认为有两点:
1、MySQL相比Oracle更轻量级、更小、安装和卸载更方便,SQL其实都是差不多的,如果想学数据库,学MySQL就可以了,在家里面可以自己方便地研究,如果你的公司使用Oracle,只要再用对比学习法,关注一下Oracle和MySQL的差别即可
2、随着2009年阿里巴巴去IOE的运动的进行,目前国内的很多互联网公司都会选择MySQL作为它们使用的数据库,因为MySQL免费,所以既省钱又不需要出了问题就依赖甲骨文公司
MySQL学习我推荐的是这本我自己学习看的《MySQL5.6从零开始学》,我是觉得挺好的这本书,书里面的知识点很细致、很全面,读者选择书籍的标准大多不就是这两点吗?
11、Spring源码深度解析
《Spring源码深度解析》,作者郝佳。
Spring这个框架做得太好了,功能太强大了,以至于很多开发者都只知Spring,不知什么是工厂、什么是单例、什么是代理(我面试别人的真实体会)。这种功能强大的框架内部一定是很复杂的实现,这就导致一旦你的程序使用Spring,出了问题,可能是Error、可能是Exception、可能是程序运行结果不是你的预期的,出现诸如此类问题的时候,将会让你感到困惑,除了上网查资料或者问别人似乎没有更好的解决办法。
研读Spring的源代码不失为一种很好的学习方法,我个人认为这有很多好处:
理解框架内部的实现之后,可以主动去解决问题,而不需要依赖别人
Spring框架内部实现用到了很多设计模式,很好的代码设计思路,这将会对你写代码、对你理解设计模式有很大的提高
研究Spring框架将会大大增强你读代码的能力,我相信只要你能研究清楚Spring内部是如何实现的,其他任何一个框架的源代码都难不倒你
总而言之,我认为读代码的能力是一个普通的程序员和一个好的程序员之间最大的差别之一,前者只会把别人写好的东西拿来用,后者不仅能用好,还清楚知道别人写好的东西底层是如何实现的,在出现问题的时候可以轻松解决。
Spring源代码,个人推荐《Spring源码深度解析》一书,真要研究透并且写清楚Spring源代码,恐怕三四本书都不够,作者在近400页的篇幅中尽量去讲解Spring源代码是如何实现的,殊为不易,尽管无法讲得完全,但是相信作者的讲解配合上读者自己的研究,一定可以对Spring的实现有更深度的理解。
以上就是我对Java高级部分应该看的书籍的推荐,希望可以对你有所帮助。说一点我的建议,我们学Java技术更重要的还是看视频教程,我们只有看更多的视频教程,不断的练习,在脑海当中产生深刻的记忆。我永远坚信我的一句话:书籍能诠释的东西毕竟有限。
最后在这里推荐大家关注一下我的微信公众号:Java新手学习,给你准备了一套最新的Java基础精讲视频教程和Java系统学习路线,关注即可观看。