1. Home
  2. 读书知识

Java程序员书籍推荐

一《Java核心技术(卷1):基础知识》Java领域最有影响力和价值的著作之一,与《Java编程思想》齐名; 《Java并发编程实战》作者是Brian Goetz,怎么说呢,这本书前前后后我也看了两遍左右,个人感受是:1、文字多代码少2、讲解多实践少我觉得这可能就是老外写书的特点吧,因为Java是北美国家(加拿大、美国)开发和维护的,所以老外对Java方方面面的理论知识体系都掌握得是非常清楚和透彻的。

一《Java核心技术(卷1):基础知识》

Java程序员书籍推荐

Java领域最有影响力和价值的著作之一,与《Java编程思想》齐名;根据Java SE 7全面更新,系统全面讲解Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。不了解java编程的同志可先阅读《Java从入门到精通》,了解JavaWeb编程。

二 《深入理解Java虚拟机:JVM高级特性与最佳实践》

 如果你不满足于做一个只会写if...else...的Java程序员,而是希望更进一步,我随便举几个例子吧:

1、了解Java代码的底层运行机制

2、定位性能问题

3、对整个系统进行性能调优

4、解决各种奇奇怪怪的线上线下问题

5、更加高级别的,为自己的项目量身定做一款适合自己项目的虚拟机

那么Java虚拟机是你必学的一门技术。《深入理解Java虚拟机:JVM高级特性与最佳实践》作者是周志明,这本书可以说是国内写得最好的有关Java虚拟机的书籍,近半年,前前后后这本书我起码看了有5遍。国内写虚拟机的书除了这本,其实还有一些其他的,我也买过,不过粗略看下来,很多内容也是《深入理解Java虚拟机:JVM高级特性与最佳实践》此书里面的。

《深入理解Java虚拟机:JVM高级特性与最佳实践》一书从Java虚拟机规范的角度来讲解Java虚拟机。我们平时使用的乃至商用的大多数Java虚拟机都是Sun公司的HotSpot,大家cmd进入命令行,使用"java -version"命令就可以看到了。如果希望在Java虚拟机规范的基础上更加深入地去理解虚拟机的一些细节是怎么实现的,就可以看一下《HotSpot实战》一书,作者是陈涛。不过由于HotSpot的源码都是C/C++写的,所以要求读者有非常好的C/C++基础,如果对这两门语言不是很熟悉的朋友,看这本书可能对你帮助不是很大。

三《Effective Java中文版》

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

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

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

四《Head First 设计模式》

作者ElElisabethFreeman是作家、讲师和技术顾问。共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式

五《Spring源码深度解析》

 《Spring源码深度解析》,作者郝佳。

Spring这个框架做得太好了,功能太强大了,以至于很多开发者都只知Spring,不知什么是工厂、什么是单例、什么是 (我面试别人的真实体会)。这种功能强大的框架内部一定是很复杂的实现,这就导致一旦你的程序使用Spring,出了问题,可能是Error、可能是Exception、可能是程序运行结果不是你的预期的,出现诸如此类问题的时候,将会让你感到困惑,除了上网查资料或者问别人似乎没有更好的解决办法。

研读Spring的源代码不失为一种很好的学习方法,我个人认为这有很多好处:

1、理解框架内部的实现之后,可以主动去解决问题,而不需要依赖别人

2、Spring框架内部实现用到了很多设计模式,很好的代码设计思路,这将会对你写代码、对你理解设计模式有很大的提高

3、研究Spring框架将会大大增强你读代码的能力,我相信只要你能研究清楚Spring内部是如何实现的,其他任何一个框架的源代码都难不倒你

总而言之,我认为读代码的能力是一个普通的程序员和一个好的程序员之间最大的差别之一,前者只会把别人写好的东西拿来用,后者不仅能用好,还清楚知道别人写好的东西底层是如何实现的,在出现问题的时候可以轻松解决。

Spring源代码,个人推荐《Spring源码深度解析》一书,真要研究透并且写清楚Spring源代码,恐怕三四本书都不够,作者在近400页的篇幅中尽量去讲解Spring源代码是如何实现的,殊为不易,尽管无法讲得完全,但是相信作者的讲解配合上读者自己的研究,一定可以对Spring的实现有更深度的理解。

六《Java并发编程实战》

 这本书常常被列入Java程序员必读十大书籍排行榜前几位,不过个人不是很推荐这本书。

《Java并发编程实战》作者是Brian Goetz,怎么说呢,这本书前前后后我也看了两遍左右,个人感受是:

1、文字多代码少

2、讲解多实践少

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

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

七 《Java多线程编程核心技术》

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

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

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

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

八《深入分析Java Web技术内幕》

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

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

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

九《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从零开始学》,我是觉得挺好的这本书,书里面的知识点很细致、很全面,读者选择书籍的标准大多不就是这两点吗?

十《大型网站技术架构 核心原理与案例分析》

 一个字评价这本书,diǎo;两个字评价这本书,很diǎo;三个字评价这本书,非常diǎo。呵呵,好了,再说下去可能别人以为我是水军了。

《大型网站技术架构 核心原理与案例分析》的作者是李智慧,原阿里巴巴技术专家。

Java的大多数应用都是用在Web上的,现在只要稍微大型一点的Web应用,都一定是一个分布式系统,那么一个分布式系统用到了哪些技术?一个大型网站是如何从一个小型网站成长起来的?如何保证你的网站安全?分布式系统使用到了缓存,有哪些缓存?缓存的使用有哪些值得注意的事项?

关于分布式的知识点,都在这本书里面有体现,只有你想不到,没有他写不到,而且写得非常易懂,基本属于看一两遍,再记一些笔记就知道是怎么一回事儿了。多看几遍,对分布式的理解一定会加深不少。而且里面不仅仅是分布式的知识,还非常接地气地写了如何做一个好的架构师,其实我认为这不仅仅是写给想做架构师的读者看的,就是给读者一些建议,如何更好地提出意见、如何更让别人关注你的声音、如何看到他人的优点,入木三分,让人获益匪浅。

《大型网站系统与Java中间件实践》《Java编程思想》《代码大全2》

原文链接:https://www.cnblogs.com/doclove/p/7590953.html

你可能感兴趣

10本 Spring Boot 学习书籍-个人记载

如果大家在犯愁找不到对应的spring书籍,可以参考下面的几本书籍,博主只买了两本参考: Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目。SpringBoot提供了一种新的编程范式,可以更加快速便捷地开发Spring项目,在开发过程当中可以专注于应用程序本身的功能开发,而无需在Spring配置上花太大的工夫。今天推荐10本Spring Boot 学习书籍。1.《Spring Boot 揭秘》 本书以微服务的基本概念介绍性开篇,逐步引出Java平台下打造微服务的利器SpringBoot微框架。书中从SpringBoot微框架的“出身”开始

java学习路线与书籍推荐

从入门javaSE到进阶javaEE书单推荐!!吐血整理!!(珍藏版)学习路线从入门到进阶:附技术书籍阅读方法论总结:前言:技术书阅读方法论一.速读一遍(最好在1~2天内完成)人的大脑记忆力有限,在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用。对于每一章的知识,先阅读标题,弄懂大概讲的是什么主题,再去快速看一遍,不懂也没有关系,但是一定要在不懂的地方做个记号,什么记号无所谓,但是要让自己后面再看的时候有个提醒的作用,看看第二次看有没有懂了些。二.精读一遍(在2周内看完)有了前面速读的感觉,第二次看会有慢慢深刻了思想和意识的作用,具体为什么不要问我,去问30

Java从入门到精通技术书籍最全50+本推荐(内附电子书资源无偿共享)建议收藏!

前言:技术书阅读方法论一.速读一遍(最好在1~2天内完成)人的大脑记忆力有限,在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用。对于每一章的知识,先阅读标题,弄懂大概讲的是什么主题,再去快速看一遍,不懂也没有关系,但是一定要在不懂的地方做个记号,什么记号无所谓,但是要让自己后面再看的时候有个提醒的作用,看看第二次看有没有懂了些。二.精读一遍(在2周内看完)有了前面速读的感觉,第二次看会有慢慢深刻了思想和意识的作用,具体为什么不要问我,去问30年后的神经大脑专家,现在人类可能还没有总结出为什么大脑对记忆的完全方法论,但是,就像我们专业程序员,打代码都是先实践,

大型网站架构系列:20本技术书籍推荐

转载:https://www.cnblogs.com/itfly8/p/5128025.html学习是技术人员成长的基础,本次分享20本技术方面的书籍,这些书不是每一本都是经典,但是每一本都有其特点。
(本次推荐的20本只是一个参考,比如像Head First,Java编程思想等经典书籍是大家都知道,因此不在推荐之列)本次分享大纲一、大型网站架构系列第一本:《大型网站技术架构:核心原理与案例分析》这是本算是国内大型网站架构的经典之作,由阿里人李智慧创作,听名字就知道本书很有智慧。
(原理到实践都有了) 
对思考技术发展有较好的帮助 
20:18:01专注技术,同时培养技术派的领导能力,经验越丰富,越需要在IT圈里培养知名度,参与开源或者很多技术获得 

学习之路-书籍推荐(转)

一、基础类 1、《Thinking in java》(阅读2遍),入门第一位是建立正确的概念 2、《Core Java》这本书更贴近实践,更多API的介绍,同样,更新也更频繁。
3、《Java Puzzlers》,通过谜题介绍一些你可能没有注意到的边角料,作为趣味读物也不错 三、特定领域 1、并发编程(进程、线程、协程,并发模式): (1)《Java Concurrency in Practic》(阅读1遍),并发领域必读经典。

程序员必读的经典书籍

  程序员需要学习的知识地很多的,需要不断的看书学习,才能不断的提升自己。
Bob大叔我想无需做介绍,他写 过一个关于敏捷开发的系列书籍,我的书架上就有他的 《代码整洁之道》 , 《程序员的职业素养》 , 《敏捷软件开发(原则模式与实践)》 , 《敏捷软件开发(原则模式与实践)》 , 《UML for Java For Programmers》 , 《Extreme Programming in Practice》等这些书籍。

Linux经典书籍推荐

入门篇 
《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux 
国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码 
分析比较多,基于2440的,对linux外围驱动有很全面的讲解内核篇 
shell篇 
《LINUX与UNIX Shell编程指南》应用 
TCP/IP篇 

推荐C#网站、书籍、资源

推荐博客: 一、网站微软的官方网站,C#程序员必去的地方。那里有API开发文档,还有各种代码、资源下载。微软msdn论坛。定位于微软技术的传播和技术问题的解决,是学习微软技术的好去处。国外著名的社区网站,面向世界的程序员。有很多不错的程序都可以从那里下载到。国外著名的问答社区。如果你有一些问题在csdn不能得到解答,可以试着去那里看看。微软的开源项目网站,可以从这里下载到很多实用的程序。国内有名的在线学习网站。方便程序员查阅相关技术点。国内著名的综合性中文IT社区。信息量大,综合性强,能够获得各种信息。而其中博客和论坛都是学习的好地方。博客园。很多精品博客来自于此,主打.NET,C#

VC++学习方法及书籍推荐.

现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千,很多陌生的出版社,很多陌生的作者,很多陌生的译者,书名也是越来越夸张,什么××天精通××,精通××编程, ××宝典等等,书的印刷质量真的很好,纸张的质量也是今非昔比啊,但书的内容好象却是越来越让人失望,也许是我老了,我的思想我的观念已脱离现实社会,也许是外面的世界变化得太快,我编程数月,出去一走,路已不是原来的路……回家看着书架上的旧书发呆,听着李克勤的旧欢如梦,才发现自已原来太喜欢怀旧. 笔者从事软件开发多年,其中有两年多的时间一直是与Windows底层打交道,涉及到驱动程序,嵌入式OS,Windows应用程序(如

Java学习书籍推荐

一、我在我的群里经常跟一些非常牛掰的java界内的大牛讨论读书的问题。他们在给新手推荐书籍的时候想也不想就会推荐Think in java。java书籍说句实话,入门级的书很多,但更看重实战和经验。如其他答案所言,java其实是个很容易入门但很难实际上手的语言。java发展到现在已经算是个“老”语言了,框架和开源库满世界都是而且用到的还非常多,尤其是JАVA EE,普遍很依赖各种开源框架。以至于有了所说的“java的一大天赋就是把中小型项目写成大型项目”。具体到我们公司一个做金融CMS开发的部门,。而且很多在公司工作了五六年的人,也未必会用到或考虑到什么多线程,设计模式,算法。对于他们而言,只

原创文章,作者:xyhun,如若转载,请注明出处:https://www.xyhun.com/7454.html

Contact Us

邮件:294438279@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code