java学习书籍都有哪些比较好?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java学习书籍都有哪些比较好?相关的知识,希望对你有一定的参考价值。
详细的问题说明,有助于回答者给出准确的答案
thinking in java 知道 有点深了
基础语法都掌握的差不多了 然后一直都没什么提高 不知道从哪里下手 高手们帮我推荐些这一阶段应该看的书可以吗
这个就不用说了,世界都知道
...
java与模式\深入java虚拟机第二版\Java数据结构和算法中文第二版 都是很经典的书,后面一点的,看书都没用,去找视频或者直接找例子来看,进步更快,
http://www.verycd.com/topics/93279/ 参考技术A 推荐你一本 java技术基础 华中科技大学出版 参考技术B 给你个建议,清华大学出版社的千万别买,全都狗屁,你买那些国外出版,中国翻译过来的那些,那些上边都是好东西! 参考技术C “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料
2.对着书上的代码自己敲的时候方便
“看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提炼,对于梳理学习的内容很有好处,当然这里不是说自己的学习方法,就不再扯下去了。
很多程序员们往往有看书的冲动,但不知道看哪些书,下面我就给各位Java程序猿们推荐一些好书。
一《深入理解Java虚拟机:JVM高级特性与最佳实践》
如果你不满足于做一个只会写if…else…的Java程序员,而是希望更进一步,我随便举几个例子吧:
1、了解Java代码的底层运行机制
2、定位性能问题
3、对整个系统进行性能调优
4、解决各种奇奇怪怪的线上线下问题
5、更加高级别的,为自己的项目量身定做一款适合自己项目的虚拟机
那么Java虚拟机是你必学的一门技术。《深入理解Java虚拟机:JVM高级特性与最佳实践》作者是周志明,这本书可以说是国内写得最好的有关Java虚拟机的书籍,近半年,前前后后这本书我起码看了有5遍。国内写虚拟机的书除了这本,其实还有一些其他的,我也买过,不过粗略看下来,很多内容也是《深入理解Java虚拟机:JVM高级特性与最佳实践》此书里面的。
另外值得一提的是,《深入理解Java虚拟机:JVM高级特性与最佳实践》这本书,有电子版的,网上搜一下就能下载到了。不过建议有兴趣的朋友还是去买书看,电子版本下载到的一般是比较老的版本,相比最新修订版的《深入理解Java虚拟机:JVM高级特性与最佳实践》,有很多作者新补充的知识点是没有的。
二、《HotSpot实战》
所有的Java虚拟机都是遵循着Java虚拟机规范来的,市面上的Java虚拟机几十款,《深入理解Java虚拟机:JVM高级特性与最佳实践》一书里面讲的虚拟机并不针对某种特定的虚拟机,而是从Java虚拟机规范的角度来讲解Java虚拟机。
我们平时使用的乃至商用的大多数Java虚拟机都是Sun公司的HotSpot,大家cmd进入命令行,使用”java -version”命令就可以看到了。如果希望在Java虚拟机规范的基础上更加深入地去理解虚拟机的一些细节是怎么实现的,就可以看一下《HotSpot实战》一书,作者是陈涛。不过由于HotSpot的源码都是C/C++写的,所以要求读者有非常好的C/C++基础,如果对这两门语言不是很熟悉的朋友,看这本书可能对你帮助不是很大。
最后提一句,如果有兴趣的朋友,不妨先去网上下载一个openJDK,HotSpot的源码就在里面。
三、《Java并发编程实战》
这本书常常被列入Java程序员必读十大书籍排行榜前几位,不过个人不是很推荐这本书。
《Java并发编程实战》作者是Brian Goetz,怎么说呢,这本书前前后后我也看了两遍左右,个人感受是:
1、文字多代码少
2、讲解多实践少
我觉得这可能就是老外写书的特点吧,因为Java是北美国家(加拿大、美国)开发和维护的,所以老外对Java方方面面的理论知识体系都掌握得是非常清楚和透彻的。翻开这本书看,多线程什么用、什么是死锁、什么是竞争、什么是线程安全等等,方方面面的知识点都用大量的文字篇幅讲解,不免让人感觉十分枯燥,也难让读者有实质性的进步。我这本书看了两遍也属于一目十行意思,有兴趣的地方就重点看一下。
无论如何,作为一本常常位于Jva程序员必读十大书籍排行榜前几名的书,还是一定要推荐给大家的。
四、《java多线程编程核心技术》
《Java多线程编程核心技术》作者高洪岩。想要学习多线程的朋友,这本书是我大力推荐的,我的个人博客里面二十多篇的多线程博文都是基于此书,并且在这本书的基础上进行提炼和总结而写出来的。
此书和《Java并发编程实战》相反,这本书的特点是大篇幅的代码+小篇幅的精讲解,可能这和中国人写的书比较偏向实用主义的风格有关。本书关于线程安全、synchronized、Reentrant、Timer等等都用详细的代码进行了讲解,而且每个大知识点下的多个小知识点都会详细讲解到,非常有实践价值。
有兴趣的朋友们,我相信只要你们跟着这本书里面的代码敲、运行、思考,三步走,对于多线程的使用与理解一定会进几大步。
不过这本书的缺点就是对于Java并发包下的一些类像CountDownLatch、Semphore、CyclicBarrier、Future、Callable等都没有讲到,重点的CAS和AQS也没有触及,重点类的实现原理也没有提。当然,这很深入了,在学习了这本书之后如果能再去对这些知识进行一些学习、研究的话,你一定会慢慢成长为一个很厉害的多线程高手。
五、《Effective Java中文版》
《Effective Java中文版》的作者是Joshua Bloch,这个人就很厉害了,他是谷歌的首席架构师,属于超级技术大牛级别了吧,这本书也是Java之父James Gosling博士推崇的一本书,我相信这一定是一本值得一看的好书。
好的代码是每个Java程序员都应该去追求的,不是说我今天写一段好代码相比写一段烂代码对性能会有多大的提升,更多的应该是提升了代码的可读性以及可以规避许多潜在的、未知的问题,避免代码上线之后出问题而花时间去维护—-无论从时间成本、人力成本还是风险成本来说,这都是非常高的。
六、《深入分析Java Web技术内幕》
《深入分析Java Web技术内幕》,作者许令波,淘宝工程师。
这本书用一个字概括就是:全。真的非常全,HTTP、DNS、CDN、静态化、Jetty、Tomcat、Servlet、Spring、MyBatis等等,什么都有,涉及知识面非常广,但又不像专门精讲某个知识点的书籍一样讲得非常深入,感觉这本书就是尽量去用短的篇幅讲清楚一些Java Web使用到的技术的内幕,让读者对这些知识点的技术内幕有一个理性的认识。
不过,尽管每个知识点的篇幅都不多,但是重点都基本讲到了,是一本让人真正有收获的书。如果想进一步了解这些技术的技术内幕,就要自己去买相关书籍或者自己上网查资料了,有种抛砖引玉,或者说师傅领进门、修行在个人的感觉。
七、《大型网站技术架构 核心原理与案例分析》
《大型网站技术架构 核心原理与案例分析》的作者是李智慧,原阿里巴巴技术专家。
Java的大多数应用都是用在Web上的,现在只要稍微大型一点的Web应用,都一定是一个分布式系统,那么一个分布式系统用到了哪些技术?一个大型网站是如何从一个小型网站成长起来的?如何保证你的网站安全?分布式系统使用到了缓存,有哪些缓存?缓存的使用有哪些值得注意的事项?
关于分布式的知识点,都在这本书里面有体现,只有你想不到,没有他写不到,而且写得非常易懂,基本属于看一两遍,再记一些笔记就知道是怎么一回事儿了。多看几遍,对分布式的理解一定会加深不少。而且里面不仅仅是分布式的知识,还非常接地气地写了如何做一个好的架构师,其实我认为这不仅仅是写给想做架构师的读者看的,就是给读者一些建议,如何更好地提出意见、如何更让别人关注你的声音、如何看到他人的优点,入木三分,让人获益匪浅。
八、《大型网站系统与Java中间件实践》
《大型网站系统与Java中间件实践》作者曾宪杰,是淘宝的技术总监,算起来应该在阿里有至少P8的级别了吧。
这本书的部分内容和上面一本李智慧的《大型网站技术架构 核心原理与案例分析》有所重合,像分布式系统的演化、CDN、CAP理论和BASE理论等等,这也更说明这些都是分布式系统或者说是一个大型网站重点关注的内容,当作一次再学习也不错。
本书要突出的重点是中间件三个字,中间件是分布式系统中一个非常重要的东西,其最重要的作用应该就是解耦,降低模块与模块之间的强依赖,不同的模块之间的依赖度降低,便可以各自独立地开发自己的功能,这也可以说是软件工程发展的目标和驱动力。
因此,本书有一部分的内容就是基于中间件,详细讲解了中间件与JMS的各种知识,适合对分布式系统比较熟悉并且想要往中间件方面有一定研究的读者。
九、《从Paxos到ZooKeeper 分布式一致性原理与实践》
《从Paxos到ZooKeeper 分布式一致性原理与实践》,作者倪超,阿里巴巴工程师。
这本书和上面的《大型网站系统与Java中间件实践》一样,属于分布式组件的范畴,属于有些深入的内容,当然,如果有志向做一个出色的大型网站架构师、公司的技术总监之类,这些知识当然是必须掌握的。
本书从分布式系统基本理论开始讲起,讲到Paxos算法,最后慢慢引入到Zookeeper,循序渐进。当然,更多的我目前还不方便发表什么看法,因为这本书的第二张Paxos算法我都还没有弄懂(Paxos算法确实有些难以理解和不太易懂),接下来的章节还没有看下去。
如果网友们所在的公司在使用Zookeeper,并且你又对Zookeeper感兴趣想要研究一下它的原理的,这本书将是不二之选。
十、《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从零开始学》,我是觉得挺好的这本书,书里面的知识点很细致、很全面,读者选择书籍的标准大多不就是这两点吗?
十一、《Spring源码深度解析》
《Spring源码深度解析》,作者郝佳。
Spring这个框架做得太好了,功能太强大了,以至于很多开发者都只知Spring,不知什么是工厂、什么是单例、什么是代理。这种功能强大的框架内部一定是很复杂的实现,这就导致一旦你的程序使用Spring,出了问题,可能是Error、可能是Exception、可能是程序运行结果不是你的预期的,出现诸如此类问题的时候,将会让你感到困惑,除了上网查资料或者问别人似乎没有更好的解决办法。
研读Spring的源代码不失为一种很好的学习方法,我个人认为这有很多好处:
1、理解框架内部的实现之后,可以主动去解决问题,而不需要依赖别人
2、Spring框架内部实现用到了很多设计模式,很好的代码设计思路,这将会对你写代码、对你理解设计模式有很大的提高
3、研究Spring框架将会大大增强你读代码的能力,我相信只要你能研究清楚Spring内部是如何实现的,其他任何一个框架的源代码都难不倒你
总而言之,我认为读代码的能力是一个普通的程序员和一个好的程序员之间最大的差别之一,前者只会把别人写好的东西拿来用,后者不仅能用好,还清楚知道别人写好的东西底层是如何实现的,在出现问题的时候可以轻松解决。
Spring源代码,个人推荐《Spring源码深度解析》一书,真要研究透并且写清楚Spring源代码,恐怕三四本书都不够,作者在近400页的篇幅中尽量去讲解Spring源代码是如何实现的,殊为不易,尽管无法讲得完全,但是相信作者的讲解配合上读者自己的研究,一定可以对Spring的实现有更深度的理解。
后记
以上就是我推荐给Java开发者们的一些值得一看的好书。但是这些书里面并没有Java基础、Java教程之类的书,对于Java基础知识的学习,我提两点建议吧:
多写多敲代码,好的代码与扎实的基础知识一定是实践出来的。
希望对您有所帮助!~
学习Python比较好的书籍推荐
近些年来,Python的热度一直处于上升阶段,到目前为止,Python已经成为和Java一样备受编程爱好者追捧的编程语言。因此越来越多的人都选择学习Python,只是很多人由于缺乏编程基础,不知道怎么开始学习Python。下面我将为大家推荐一些比较好的经典学习书籍,各种难易程度都有,大家可以选择适合自己的进行阅读学习~
1、《Python编程:从入门到实践》
从编程初学者的角度看,该书是一门入门极佳的教材。从入门到实践,该书几乎是手把手教学,而且还能做到绝不啰嗦。因此如果你需要一本入门书籍,选择《Python编程:从入门到实践》读下来,行文上不卡壳,逻辑上不跳跃,读者如爬楼梯,一步一步即可登楼。总之,这本书对Python小白入门极为友好,内容不仅全面,讲解详细,而且编排合理,真是学习编程的必读书之一。
对于初学者想更轻松的学好Python开发技术,Python爬虫,Python大数据分析,人工智能等技术,这里给大家分享一套系统教学资源,加一下我建的Python技术的学习裙;九三七六六七五零九,一起学习。群里有相关开发工具,学习教程,每天还有专业的老司机在线直播分享知识与技术答疑解惑!
2、《Python基础教程》
《Python基础教程》是经典教程的全新改版,作者根据Python 3.0版本的更新升级,也全面更新了书中相应的内容。如果你是一个没有任何编程基础的学习者,那么最好先读完第一本的《Python 编程:从入门到实践》开始学习,之后选择《Python基础教程》作为你的第二本Python学习书籍。当然,如果你已经是一位有一定基础的编程语言学习者,同样能够在这本书里学到不少知识。所以,这真的是很好的一本书,该清楚的内容绝不含糊,不该说的点到即止。就算是读者想要网上查找的时候也有迹可循,轻重把握很好。而且书后举了十个例子,能够让人更快速地理解。
3、《流畅的Python》
这本书是由奋战在Python开发一线,有着近20年项目工作经验资深工程师Luciano Ramalho执笔。它致力于帮助Python开发人员,挖掘Python及相关程序库的优秀特性,从而写出简洁流畅、易读、易维护的代码。书中从语言设计层面剖析编程细节,兼顾Python 3 和Python 2,同时有大量详尽的代码示例,并附有主题相关高质量的参考文献和视频链接。值得认真阅读的Python进阶书籍,章节后面附带的杂谈和延伸阅读有时间可以补充阅读。对于想要扩充知识的中、高级Python工程师来说,《流畅的Python》是一个充满实用编程技巧的宝藏。
4、《Python编程快速上手》
《Python编程快速上手》尤其适合缺乏编程基础的小白学习。语法使用Python 3,介绍了Python语言的基础知识,还通过项目实践培养读者如何应用这些知识的技能。本书的第一部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。同时,每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的理论知识。总的来讲,这是一本很不错学习Python的书籍,它一小部分介绍了基本语法,更多的笔墨介绍了比较多实用的模块。其目的正如副标题所述,是为了将平时的繁琐工作自动化,就好像为自己写一个私人秘书。
5、《Python核心编程》
《Python核心编程》总共分为3部分。第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程等。第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的Web编程、DjangoWeb框架等。第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。这是一本清晰、友好的学习Python的图书,它在一个广阔的背景中介绍了Python。并仔细深入地剖析了一些重要的Python主题,而且读者无需大量的相关经验也能看懂,帮助读者牢固掌握Python的语法和结构。
6、《Head First Python(中文版)》
主要讲述了Python 3的基础语法知识以及如何使用Python快速地进行Web、手机上的开发。帮助你迅速掌握Python的基础知识,然后转向持久存储、异常处理、Web开发、SQLite、数据加工和lGoogle App Engine。从书籍的封面我们大概也可以猜得出这本书是通过采用丰富直观的形式使你的大脑真正开动起来,而不是长篇累牍地说教,让你昏昏欲睡。
学习Python比较好的书籍就推荐到这里了。如果大家觉得上面的书籍啃起来都十分困难,这里也给大家准备了Python入门视频进行学习。希望可以帮助大家领略到学习Python的乐趣,轻松入门Python~
以上是关于java学习书籍都有哪些比较好?的主要内容,如果未能解决你的问题,请参考以下文章