Java

基础

《Head First Java》

有人说这本书不适合编程新手阅读?其实本书还是很适合稍微有一点点经验的新手来阅读的,当然也适合我们用来温故 Java 知识点。

ps:刚入门编程,最好的方式还是通过看视频来学习。

《Java 核心技术卷 1+卷 2》

建议有点 Java 基础之后再读,介绍的还是比较深入和全面的,非常推荐。

这两本书的内容很多,全看的话比较费时间,建议大家用来巩固知识点或者当做工具书参考,是两本适合放在自己身边的好书。

《Java 编程思想 (第 4 版)》

大部分人称之为Java领域的圣经,但是不推荐初学者阅读,有点劝退的味道。稍微有点基础后阅读更好。

这本书内容确实也比较多,而且稍微有点枯燥,但是比较权威。建议拿来当做工具书参考。

《Java性能权威指南》

希望能有更多这种 Java 性能优化方面的好书!

O'Reilly 家族书,性能调优的入门书,性能调优是每个 Java 从业者必备知识。

这本书介绍的实战内容很好,尤其是 JVM 调优,当然缺点也比较明显,内容稍微有点老。市面上这种书很少,这本书不适合初学者,建议对 Java 语言已经比较掌握了再看。另外,阅读之前,最好先看看周志明大佬的《深入理解 Java 虚拟机》。

并发

《Java 并发编程之美》

这本书还是非常适合用来学习 Java 多线程的。这本书的讲解非常通俗易懂,作者从并发编程基础到实战都是信手拈来。

另外,这本书的作者加多自身也会经常在网上发布各种技术文章。这本书也是加多大佬这么多年在多线程领域的沉淀所得的结果吧!书中的内容基本都是结合代码讲解,非常有说服力!

《实战 Java 高并发程序设计》

这个是我第二本要推荐的书籍,比较适合作为多线程入门/进阶书籍来看。这本书内容同样是理论结合实战,对于每个知识点的讲解也比较通俗易懂,整体结构也比较清晰。

《深入浅出 Java 多线程》

这本书是几位大厂(如阿里)的大佬开源的,Github 地址:https://github.com/RedSpider1/concurrent

几位作者为了写好《深入浅出 Java 多线程》这本书阅读了大量的 Java 多线程方面的书籍和博客,然后再加上他们的经验总结、Demo 实例、源码解析,最终才形成了这本书。

这本书的质量也是非常过硬!给作者们点个赞!这本书有统一的排版规则和语言风格、清晰的表达方式和逻辑。并且每篇文章初稿写完后,作者们就会互相审校,合并到主分支时所有成员会再次审校,最后再通篇修订了三遍。

JVM

JVM 这里就先只推荐一本书籍和一个关于 JVM 参数调优的免费教程。

《深入理解Java虚拟机(第3版)》

希望国内能有更多这样的优质书籍出现!加油!

这本书就一句话形容:国产书籍中的战斗机,实实在在的优秀!

这本书的第三版去年年底已经出来了,新增了很多实在的内容比如ZGC等新一代GC的原理剖析。目前豆瓣上是 9.6 的高分,我就不多说了!

不论是你面试还是你想要在 Java 领域学习的更深,你都离不开这本书籍。这本书不光要看,你还要多看几遍,都是干货,里面很多实战内容自己还最好实践一篇。

这里推荐一个《JVM 参数【Memory篇】》教程,很厉害了!

Java 8

《Java 8实战》

现在大部分公司至少都用到了 Java 8 , Java 8 算是一个里程碑式的版本,提供了很多有用的新特性比如 Lambda、流式处理等等。

这本书是学习 Java 8 新特性很好的选择,它内容包括 Lambda、流和函数式编程等Java8新特性。实战系列的一贯风格让自己快速上手应用起来。

软件质量

代码质量

《重构_改善既有代码的设计》

程序员必看!

世界顶级、国宝级别的 Martin Fowler 的书籍,可以说是软件开发领域最经典的基本书之一。

这本书是每一个程序员都必须要看,并且需要看很多次的!

《Effective java 》

程序员必看!

又是一本 Java 领域国宝级别的书,非常经典。这本书主要介绍了在 Java 编程中很多极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。这篇文章能够非常实际地帮助你写出更加清晰、健壮和高效的代码。本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。

《代码整洁之道》

程序员必看!

每个程序员都必须要看看的一本书籍,书中很多实际可体会的例子,可以教你写出更优质代码。

最后再推荐两个相关的文档:

软件设计之道

《人月神话》

主要描述了软件开发的基本定律:一个需要10天才能干完的活,不可能让10个人在1天干完!

非常值得阅读的一本书籍。看书名感觉的第一眼感觉不像是技术类的书籍。这本书对于现代软件尤其是复杂软件的开发的规范化有深刻的意义。

《领域驱动设计:软件核心复杂性应对之道》

这本领域驱动设计方面的经典之作一直被各种推荐。

常用框架

Spring/SpringBoot

《Spring 实战(第 5 版)》

比较一般!

不建议当做入门书籍读,入门的话可以找点国人的书或者视频看。这本定位就相当于是关于 Spring 的一个概览,只有一些基本概念的介绍和示例,涵盖了 Spring 的各个方面,但都不够深入。就像作者在最后一页写的那样:“学习 Spring,这才刚刚开始”。

《Spring 5高级编程(第5版)》

工具人!

对于Spring5的新特性介绍的比较详细,也说不上好。另外,感觉全书翻译的有一点蹩脚的味道,还有一点枯燥。全书的内容比较多,建议拿来当做工具书参考。

《Spring Boot编程思想(核心篇)》

稍微有点啰嗦,但是原理介绍的比较清楚。

SpringBoot 解析,不适合初学者。书很厚,知识点的讲解过于啰嗦和拖沓,不过,这本书对于SpringBoot内部原理讲解的还是很清楚。

《Spring Boot实战》

比较一般的一本书,可以简单拿来看一下。

《Spring Boot实战派》

这本书使用的Spring Boot 2.0+的版本,还算比较新。整本书采用“知识点+实例”的形式编写。

另外,这本书的干货很多,作者在注意实战的过程中还不忘记对于一些重要的基础知识的讲解。

如果你要学习 Spring Boot 的话,我还是比较推荐这本书的。

Netty

《Netty实战》

这本书可以用来入门 Netty ,内容从 BIO 聊到了 NIO、之后才详细介绍为什么有 Netty 、Netty 为什么好用以及Netty重要的知识点讲解。

这本书基本把 Netty 一些重要的知识点都介绍到了,而且基本都是通过实战的形式讲解。

《Netty进阶之路:跟着案例学Netty》

深入Netty必看!

内容都是关于使用 Netty 的实践案例比如内存泄露这些东西。如果你觉得你的 Netty 已经完全入门了,并且你想要对Netty掌握的更深的话,推荐你看一下这本书。

《Netty 入门与实战:仿写微信 IM 即时通讯系统》

质量很高的一个小册!

通过一个基于 Netty 框架实现 IM 核心系统为引子,带你学习Netty。整个小册的质量还是很高的,即使你没有 Netty 使用经验也能看懂。

Java 书单的更多相关文章

  1. 最强 Java 书单推荐,附学习方法

    技术大佬用1w+字来告诉你该读什么书,循序渐进,并提供百度云盘下载地址.重要的是还有学习方法. 请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub gi ...

  2. Java书单-比较全的一篇

    本文已收录至码云:https://gitee.com/jalon2015/java-book 前言 之前写过一篇,Java核心书单,里面涵盖了几本主要的Java书籍: 后来有朋友反馈说,这几本太少了, ...

  3. 我的Java书单之优秀的入门书

    我始终相信,学习任何一门新技术,该技术相关的优秀书籍总是最好的资料.当然了,优秀的视频教程能帮组你快速地了解该技术,但是要深入和系统地去学习该技术,好的书籍就显得尤为重要了.结合我自己学习java的经 ...

  4. 图灵社区 书单推荐:成为Java顶尖程序员 ,看这11本书就够了

    java书单推荐 转自 http://www.ituring.com.cn/article/211418 “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两 ...

  5. 2019Android阿里&腾讯&百度&字节面试汇总(附面试题总结、Android书单)

    1.基本情况 先简单说说我今年的面试经历吧,本人2018届211软件工程硕士生,Android开发岗.此文主要是2019年年初春招的面试和秋招面试经验汇总,最终拿到了阿里,腾讯,字节跳动,百度等off ...

  6. java提升路线书单(原文自知乎刘欣)

    复制黏贴自知乎刘欣大神,作为个人的书单与指导路线 原文链接:https://www.zhihu.com/question/19848946/answer/92536822   刘欣 追寻内心的真正兴趣 ...

  7. java开发必读 书单

    希望读的书单 重构 改善既有代码的设计 设计模式 可复用面向对象软件的基础 高性能MySQL第3版 Effective Java第1版 Effective Java第2版 Java核心技术I-基础知识 ...

  8. Java工程师的终极书单

    本份Java工程师的终极书单只在专业的Java技术博客–天天编码上发布,没有授权任何网站与个人转载. 坚持阅读好书是学习Java技术的好方式.但是,市面上与Java技术相关的书籍可谓数不胜数,如何从这 ...

  9. Java工程师书单(初级、中级、高级)

    简介 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序员经常会问到的问题 ...

随机推荐

  1. day01-系统基础信息模块

    前言:2015年,由于大规模采用云平台虚拟机部署应用,每套应用系统的MySQl.接口机.WEB服务器.文件服务器需要经常进行版本升级.配置更新.安全补丁加固.iptables调整.配置核实,大量的手工 ...

  2. 安装mongodb扩展

    curl -O https://pecl.php.net/get/mongodb-1.2.3.tgz tar zxf mongodb-1.2.3.tgzcd mongodb-1.2.3 phpize ...

  3. apache-commons和guava的工具类

    apache-commons工具类:https://www.iteye.com/blog/zhoualine-1770014 guava工具类:https://blog.csdn.net/Dream_ ...

  4. MyBatis学习02

    3.增删改查实现 select select标签是mybatis中最常用的标签之一 select语句有很多属性可以详细配置每一条SQL语句 SQL语句返回值类型.[完整的类名或者别名] 传入SQL语句 ...

  5. 8、Spring Boot任务

    1.异步任务 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring ...

  6. 详细了解IDM的队列功能

    队列的种类 IDM(Internet Download Manager)下载器的队列分为2种:主要下载队列和同步队列.此外,我们也可以自己创建附加队列. 在左边的[分类]窗口中,黄色的图标为主要下载队 ...

  7. Java中的主线程

    目录 概览 主线程 怎么来控制主线程 主线程和main()函数的关系 主线程中的死锁(单个线程) 概览 前段时间有同事提到了主线程这个名词,但当时我们说的主线程是指Java Web程序中每一个请求进来 ...

  8. 对于char,short和byte类型的运算

    对于char,short和byte这些类型在计算时都会提升到int型来计算,所以a+b=3(这个3是int型的,所以我们需要将它强转成为byte类型,才不会出错.但是使用 += 或者 ++ 运算符可以 ...

  9. 他是 ISIJ 第四名,也是在线知名题库的洛谷“网红”

    转载自加藤惠. 2020年国际初中生信息学竞赛(ISIJ)上,以优秀成绩拿下第四名年仅初三的张湫阳,成为最夺目的选手之一. 而且虽然是初三的选手,但他取得优异成绩后,不少网友并不感到陌生,纷纷留言: ...

  10. Java蓝桥杯练习——杨辉三角形

    问题描述: 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. 下面给出了杨辉三角形的前4行: 1 1 1 ...