学java看什么书好 学Java看什么书

学java看什么书?

多了,关键看是哪个出版社出的,一般国内的java书籍主要是由清华大学出版社和电子机械出版社出版的最多,你要是初学者的话建议你看清华大学出版社的java书籍,他们出的书主要针对初学者,内容浅显易懂,初学者研究很好的。给你推荐几本好书1.《java编程思想》(Thinking in java)Bruce Eckel(著)2.《JAVA2核心技术卷一卷二》3.《JAVA面向对象编程》4.《JAVA2入门经典》5.《Java编程艺术》还有很多名字记不清了,上面是我推荐的基本JAVA教学书籍 在业界比较出名的都是专家写的,希望对你的学习有所帮助,但还是建议你看教学视频,那样还比较好理解,去电驴上下载吧有《尚学堂的java所有教学视频》。

延伸阅读

谁给推荐几本java进阶的书籍?

《Java编程思想》

这本书适合开发过一两个项目,对java已经有一定的了解的人。

这本书首先不是java的入门书,虽然这本书介绍了一部分语法,但是更多内容是java特性的讲解,里面的用例水平非常高,对于面向对象讲解,接口,内部类,容器,多线程,I/O的讲解很透彻同时又很深刻,他会告诉你,在什么情况下你应该作何选择。以及各种选择的利弊。这本书不适合从头看到尾,适合在迷惑不解的 时候,带着疑问去翻,让你的求知欲带着你去看书,而不是给自己定一个Java编程思想的读书计划。

《深入剖析Tomcat》

试读人群:做过两三个项目,对面向对象设计有一定了解,设计模式似懂非懂,想好好看看什么是面向接口编程,对serlet的加载,映射,及整个http请求处理流程感兴趣,不能容忍自己的知识体系存在黑箱的人。认为Java后台开发仅仅是CRUD的人。

Tomcat大家都很熟悉了,不论我们做的课程设计的小项目,还是淘宝天猫等每天PV访问量过亿的大型网站都在用,你还敢瞧不起它吗?还是认为入门的技术 不值一提吗?

你可能更换数据库框架,mvc框架,容器,但是很少有人换掉Tomcat。为什么,因为她是一个优秀的设计(帮你做了很多,但在可定制性方面不如Jetty)。

这本书从一个简单的socket B/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高级程序设计)

适读人群: 学会基本的 javascript dom编程,jquery,做过两三个项目,但是没有系统的学习javascript,总是在为一些语法,或者莫名其妙的 错误烦恼的人,这本书绝对适合你,应为他就是写给java程序员的Javasript书籍 。

Java程序员进阶,为什么要谈JavaScript,我个人不喜欢JavaScript,应该我找了半天错,可能就是因为一个简单的语法错误,还有就是只能操作控件,我一直希望前端人员可以帮我做这些事,后来发现这几乎不可能,JavaScript还得自己写,可能以后工作之后,更得自己写,所以我想系统学习下 script,后来这本书真的没有让我失望,这本书后面高级部分还没来得及看,但是仅仅在讲述JavaScript的语法特性,就有一种如沐春风的 感觉,良心之作 。

有事没事的可以看看。当然这本书并没有侧重于dom编程,可能我们做的更多是dom编程,所以我还推荐你可以看看JavaScript高级程序设计。我看我们前端美女帅哥 都在看这书,应该还不错 ,就是有点厚,但是说明讲的详细,可以做工具书。

《深入分析javaweb技术内幕》

适读人群:做过三四个项目,看过上面的 深入剖析Tomcat,深入理解Java虚拟机,设计模式,使用过Spring,mybatis的读者。

这本书的水平真是很高,说实话,看这本书的时候,我几乎流下了眼泪,我能感受到作者真的是用心在写书,不是为了出版赚版权费,不是为了装X,而是真的是希望自己当年吃过的苦,别人能少吃一点,别人可以学的更轻松。尤其是作者的细致认真,用工匠精神来说,一点不为过,同时再加上当时看Tomcat源码时的感想,可以总结 一句话,一个优秀的程序员在每一个细节都精益求精。在他们的知识体系里,永远不能容忍一个小漏洞存在,在细节处着手,踏踏实实的写好每一行代码。把每一个有疑问的点都在合适的时机解决掉。作者在细节上击败了我。

同时不光在细节上,作者详细讲述了 Javaweb中 的技术方向,多得数不清,但是每一章你都感觉不到 作者的 疏漏与不足。博广精专,这就是本书的作者 值得我们学习的

本文目录大概包括Java I/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深入一点的书推荐?

学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:

1. 能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料 。

2. 对着书上的代码自己敲的时候方便。

“看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提炼,对于梳理学习的内容很有好处,当然这里不是说自己的学习方法,就不再扯下去了。

很多程序员们往往有看书的冲动,但不知道看哪些书,下面我就给各位Java程序猿们推荐一些好书(每本书的作者会加粗标红),其中绝大多数都是我自己平时在看的书,也算是我对于平时读的书做一个小总结和读后感吧。

首先推荐的不是一本书,而是一个博客,也是我们博客园另外一位博友java_my_life。

目前市面上讲解设计模式的书很多,虽然我前面讲了看书是最好的,但是对设计模式感兴趣的朋友们,我推荐的是这个博客。这位博友的设计模式讲得非常非常好,我认为90%的内容都是没有问题且很值得学习的,其讲解设计模式的大体路线是:

随便开篇点明该设计模式的定义

图文并茂讲解该设计模式中的结构

以详细的代码形式写一下该种设计模式的实现

补充内容

讲解该设计模式的优缺点

对于一个设计模式我们关注、学习的知识点,不就是上面这些吗?

不过我要重点提醒一下网友们,同一种设计模式的写法有多种,并不是说只有按某种写法来写才是这种设计模式。比方说适配器模式,我们关注适配器模式一定要关注的是什么是适配器模式不是怎么写适配器模式,不要认为某段代码不是按照适配器模式的写法写下来的它就不是适配器模式了,记住这一点,你在学习设计模式的时候一定会对代码中用到的设计模式有更深入的理解。

1、深入理解Java虚拟机:JVM高级特性与最佳实践

如果你不满足于做一个只会写if…else…的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并发编程实战》作者是Brian Goetz,怎么说呢,这本书前前后后我也看了两遍左右,个人感受是:

文字多代码少

讲解多实践少

我觉得这可能就是老外写书的特点吧,因为Java是北美国家(加拿大、美国)开发和维护的,所以老外对Java方方面面的理论知识体系都掌握得是非常清楚和透彻的。翻开这本书看,多线程什么用、什么是死锁、什么是竞争、什么是线程安全等等,方方面面的知识点都用大量的文字篇幅讲解,不免让人感觉十分枯燥,也难让读者有实质性的进步。我这本书看了两遍也属于一目十行意思,有兴趣的地方就重点看一下。

无论如何,作为一本常常位于Jva程序员必读十大书籍排行榜前几名的书,还是一定要推荐给大家的。

4、java多线程编程核心技术

《Java多线程编程核心技术》作者高洪岩。想要学习多线程的朋友,这本书是我大力推荐的,我的个人博客里面二十多篇的多线程博文都是基于此书,并且在这本书的基础上进行提炼和总结而写出来的。

此书和《Java并发编程实战》相反,这本书的特点是大篇幅的代码+小篇幅的精讲解,可能这和中国人写的书比较偏向实用主义的风格有关。本书关于线程安全、synchronized、Reentrant、Timer等等都用详细的代码进行了讲解,而且每个大知识点下的多个小知识点都会详细讲解到,非常有实践价值。

有兴趣的朋友们,我相信只要你们跟着这本书里面的代码敲、运行、思考,三步走,对于多线程的使用与理解一定会进几大步。

不过这本书的缺点就是对于Java并发包下的一些类像CountDownLatch、Semphore、CyclicBarrier、Future、Callable等都没有讲到,重点的CAS和AQS也没有触及,重点类的实现原理也没有提。当然,这很深入了,在学习了这本书之后如果能再去对这些知识进行一些学习、研究的话,你一定会慢慢成长为一个很厉害的多线程高手。

5、Effective Java中文版

这是唯一一本我没有买的书。初识这本书,是在我的博文Java代码优化(长期更新)里面,底下评论的时候有朋友提到了这本书,当时我说要去买,不过这两个月一直都没时间去逛书店,甚是遗憾,之后肯定会找时间去买这本书的。

《Effective Java中文版》的作者是Joshua Bloch,这个人就很厉害了,他是谷歌的首席架构师,属于超级技术大牛级别了吧,呵呵。由于没有看过这本书,所以我不好发表评论,但是从这本书的知名度以及其作者的来头来看(多提一句,这本书也是Java之父James Gosling博士推崇的一本书),我相信这一定是一本值得一看的好书。

好的代码是每个Java程序员都应该去追求的,不是说我今天写一段好代码相比写一段烂代码对性能会有多大的提升,更多的应该是提升了代码的可读性以及可以规避许多潜在的、未知的问题,避免代码上线之后出问题而花时间去维护—-无论从时间成本、人力成本还是风险成本来说,这都是非常高的。

6、深入分析Java Web技术内幕

《深入分析Java Web技术内幕》,作者许令波,淘宝工程师。

这本书我用一个字概括就是:全。真的非常全,HTTP、DNS、CDN、静态化、Jetty、Tomcat、Servlet、Spring、MyBatis等等,什么都有,涉及知识面非常广,但又不像专门精讲某个知识点的书籍一样讲得非常深入,感觉这本书就是尽量去用短的篇幅讲清楚一些Java Web使用到的技术的内幕,让读者对这些知识点的技术内幕有一个理性的认识。

不过,尽管每个知识点的篇幅都不多,但是重点都基本讲到了,是一本让人真正有收获的书。如果想进一步了解这些技术的技术内幕,就要自己去买相关书籍或者自己上网查资料了,有种抛砖引玉,或者说师傅领进门、修行在个人的感觉。

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系统学习路线,关注即可观看。

版权声明