拿万元月薪必备的书单,学JAVA的程序员必看的5本书!
点击蓝色“程序员黄小斜”关注我哟
加个“星标”,每天带你读好书!

文/黄小斜
转载请注明出处
每一年的年初都是买书学习热情高涨的时候,虽然不知道你们是让这些书吃灰还是真的会好好阅读,但是有一些书籍,我还是希望能够推荐给你们。
作为一个自学Java 3年,在大厂工作的资深Java小白,我还是有很多经验和心得想分享给大家的,由于我的水平确实有限,除了分享求职心得和面试经验,能够帮到大家的并不多,而反观一些技术书籍,它们往往是一些大牛或者资深工程师的技术精华,是更加能够帮助到Java学习者的。
授人以鱼不如授人以渔,从阅读开始,你会发现技术学习之路变得越来越简单。****
1. head first Java
推荐指数:⭐️⭐️⭐️⭐️⭐️

《head first Java》
推荐理由:
说实话,这本书和其他的我Java类型书籍真的大不相同,它不会一本正经地去说技术概念和原理,而是通过生动有趣的方式去拆解一些复杂的知识点,就好像讲师在讲课的时候,喜欢讲段子而不仅仅扯概念。
不仅这本书,而且本系列的其他书籍也是这么干的,这种用“幼儿园水平”降维分析的方式,对于初学者来说真的是一大福音,五星好评。
作者介绍:
作者叫做Kathy Sierra,她是O'Reilly出版社Head First系列图书策划人之一,也是大型Java开发者社区JavaRanch.com创办人,同时还是多款教育类和娱乐类游戏主要开发人员。
** 2.Java核心技术卷一**
推荐指数:⭐️⭐️⭐️⭐️

《Java核心技术卷一》
推荐理由:
大家应该都听说过一本叫做《Java编程思想》的书籍,如果让我在两本书里选择一本,那我果断会选择这一本,因为比起晦涩难懂的《Java编程思想》这本书还是比较适合入门的,当然,比起生动有趣的《head first Java》这本书还是更加传统保守一些,所以给了它4颗星。
以上两本书各有各的好处,我推荐新手可以先看《head first Java》因为简单易懂,如果比较喜欢传统一点的书籍,也可以考虑看看《Java核心技术卷一 》
作者介绍:
凯 S. 霍斯特曼(Cay S. Horstmann),圣何塞州立大学计算机科学系教授、Java的倡导者,经常在开发人员会议上发表演讲。他是《Core Java for the Impatient》(2015)《Java SE 8 for the Really Impatient》(2014)和《Scala for the lmpatient》(2012)的作者,这些书均由Addison-Wesley出版。他为专业程序员和计算机科学专业学生编写过数十本图书。
3.深入分析Java Web技术内幕
推荐指数:⭐️⭐️⭐️⭐️⭐️

** 《深入分析Java Web技术内幕》**
推荐理由:
这本书是Java Web的集大成之作,涵盖了大部分Java Web开发的知识点,作者是资深的淘宝Java工程师,恨不得在一本书里把所有的Java Web知识点丢给讲清楚,不过,一本书显然无法把所有细节都讲完,但是作为Java Web的入门或者进阶书籍来看的话还是很不错的。
市面上Java Web书籍的质量参差不齐,如果要我推荐的话,这一本足矣。
作者介绍:
许令波,毕业于合肥工业大学,获计算机硕士学位。热爱Java Web技术,关注服务端性能优化,热衷开源技术的研究和分享,曾获developerWorks最佳作者称号。2009年进入淘宝工作,目前从事模板渲染框架与MVC框架的开发与应用、Java Web的性能优化、高访问量系统静态化和商品详情系统的业务改造等工作。
4.深入理解Java虚拟机
推荐指数:⭐️⭐️⭐️⭐️⭐️

** 《深入理解Java虚拟机》**
推荐理由:
这本书在Java圈内基本可以算是前无古人后无来者的一本书了,它在13年首次出版,后面近十年内在JVM领域几乎里没有几本书能够和它相提并论,19年本书又出了第三版,有兴趣的朋友建议直接买第三版。
实际上,现如今很多网络上关于JVM的技术博客、技术文章,基本都是根据本书的脉络进行写作的,并且会大量地使用本书的内容作为参照,足以见其影响力之大,对于JVM领域的影响之深远。
其实,近几年还有几本JVM领域的书涌现,不乏有精品之作,但是周这本书的地位仍然是不可撼动的,如今,此书已经成为了每一个Java程序员必须要有的一本书。
作者介绍:
本书的作者周志明博士,目前是远光软件的资深Java技术专家,对JavaEE企业级应用开发、OSGi、Java虚拟机和工作流等都有深入的研究,并在大量的实践中积累了丰富的经验。尤其精通Java虚拟机,撰写了大量与JVM相关的经典文章,被各大技术社区争相转载,是ITeye等技术社区公认的Java虚拟机方面的领袖人物之一。
5.Java并发编程的艺术
推荐指数:⭐️⭐️⭐️⭐️

《Java并发编程的艺术》
推荐理由:
其实还有一本非常知名的,介绍Java并发编程书籍《Java并发编程实战》作者是Java并发包的开发者,也是Java语言的共同创始人之一吗,那么我为什么没有推荐它呢,因为高司令的这本书相对来说还是比较晦涩难懂,而且年代比较久远,不太适合现在再来看。
最重要的是,Java并发编程的概念本来就比较复杂,我们需要的是一本能够把原理解释清楚的书籍,而这本《Java并发编程的艺术》书是国内作者写的Java并发书籍,刚好就比上面那一本更简单易懂,至少我自己看下来是这样的感觉。
本书在各大网站的销量也很高,适合作为并发编程的入门书籍,当然,学习并发原理之前,还是先把Java的多线程搞懂吧。
作者介绍:
方腾飞(花名清英,英文名kral),蚂蚁金服集团技术专家,从事Java开发近10年。5年以上的团队管理、项目管理和敏捷开发经验,崇尚团队合作。
目前在蚂蚁金服网商银行贷款管理团队负责数据采集平台开发工作。与同事合作开发了tala code Review插件,深受阿里数千名工程师拥趸,并开发过开源工具jdbcutil(https://github.com/kiral/utils)。
创办了并发编程网(http://ifeve.com),组织翻译了百余篇国外优秀技术文章,并曾为InfoQ撰写“聊聊并发”专栏,在《程序员》杂志撰写敏捷实践系列文章,曾用博客http://kiraljavaeye.com。

拿万元月薪必备的书单,学JAVA的程序员必看的5本书!的更多相关文章
- 图灵社区 书单推荐:成为Java顶尖程序员 ,看这11本书就够了
java书单推荐 转自 http://www.ituring.com.cn/article/211418 “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两 ...
- 月薪3万的python程序员都看了这本书
想必大家都看过吧 Python编程从入门到实践 全书共有20章,书中的简介如下: 本书旨在让你尽快学会 Python ,以便能够编写能正确运行的程序 —— 游戏.数据可视化和 Web 应用程序,同时掌 ...
- PHP程序员要看的书单
想提升自己,还得多看书!多看书!多看书! 下面是我收集到的一些PHP程序员应该看得书单及在线教程,自己也没有全部看完.共勉吧! Github地址:https://github.com/52fhy/ph ...
- C++ 虚函数简介!程序员必学知识,掌握编程从对象开始!
本文将简单探究一下 c++ 中的虚函数实现机制.主要基于 vs2013 生成的 32 位代码进行研究,相信其它编译器(比如, gcc )的实现大同小异. 先从对象大小开始 假设我们有如下代码,假设 i ...
- PHP高级程序员必学
业务增长,给你的网站带来用户和流量,那随之机器负载就上去了,要不要做监控?要不要做负载均衡?用户复杂了,要不要做多终端兼容?要不要做CDN?数据量大了,要不要做分布?垂直分还是横向分?系统瓶颈在哪里? ...
- 资料汇总--java开发程序员必备技能
1. 熟练使用Java语言进行面向对象程序设计(面向对象:继承.多态.抽象): 有良好的编程习惯(阿里开发手册 链接:http://pan.baidu.com/s/1dFEA6cT 密码:kqj4 ...
- PHP程序员福利“看免费直播,学MySQL索引优化”
六星教育了解到,MySQL是目前所知PHP最流行的关系型数据库管理系统之一,它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.之所以它会成为主流使用数据库,这 ...
- Java程序员必学知识点
JVM无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎.不管是工作还是面试中,JVM都是必考题.如果不懂JVM的话,薪酬会非常吃亏(近70%的面试者挂在JVM上了) 详细介绍了JVM有关于线 ...
- 新一代Java程序员必学的Docker容器化技术基础篇
Docker概述 **本人博客网站 **IT小神 www.itxiaoshen.com Docker文档官网 Docker是一个用于开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与 ...
随机推荐
- 群ping
找出单位内所有电脑手机 通常情况下,ping只能ping一个IP地址.一个网络值班只有255台电脑,除非是大的网络断,把子网掩码改了,可以扩充更多电脑.如: 如果我们要一次性检查内网所有机器,则可以输 ...
- golang 学习之路 string转换为其他类型 其他类型转换为string
将其他值转换为string 一般常用fmt.Sprintf(格式,转换的值) // 使用fmt.Sprintf 转换所有的类型为string 使用 这是第一种 // 注意在sprintf使用中需要注意 ...
- JavaMail(二):利用JavaMail发送复杂邮件
上一篇文章我们学习了利用JavaMail发送简单邮件,这篇文章我们利用JavaMail发送稍微复杂一点的邮件(包含文本.图片.附件).这里只贴出核心代码,其余代码可参考JavaMail(一):利用Ja ...
- 使用VS2017进行Python代码的编写并打印出九九乘法表
我们来盘一盘怎么使用VS2017进行python代码的编写并打印出九九乘法表. 使用Visual Studio 2017进行Python编程不需要太复杂的工作,只需要vs2017安装好对Python的 ...
- Simulink仿真入门到精通(十) S函数
10.1 S函数概述 S函数也称为Simulink中的系统函数,是用来描述模块的Simulink宏函数,支持M.C等多种语言.当Simulink默认的模块不能满足用户的需求时,用户可以通过S函数自己打 ...
- 初识JVM:(二)Java的垃圾回收机制详解
声明:本文主要参考https://www.cnblogs.com/codeobj/p/12021041.html 仅供个人学习.研究之用,请勿用于商业用途,如涉及侵权,请及时反馈,立刻删除. 一.Ja ...
- 03、MySql的数据类型
MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 1.数字类型 类型 大小 范围(有符号) 范围(无符号) ...
- 简说Python之Jupyter Notebook
目录 简说Python之Jupyter Notebook 1.Jupyter Notebook 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Py ...
- javaScript 基础知识汇总(八)
1.Map Set WeakMap 和WeakSet Map 是一个键值对的集合,主要的方法包括: new Map() 创建Map map.set(key,value) 根据键(key)存储值(va ...
- C#winform如何主窗口最大化最小化默认大小
this.WindowState = FormWindowState.Minimized; bool b = true; private void button2_Click(object sende ...