Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java后端2017书单推荐

Java后端2017书单推荐

原创
作者头像
Java后端工程师
修改于 2017-12-11 02:55:53
修改于 2017-12-11 02:55:53
2.7K0
举报
文章被收录于专栏:Java编程Java编程

前言

对于程序员来说,个人感觉最佳学习方式是看书,视频花费时间太长,而博客则不够系统。初学相关领域最好的方式就是找到一本经典的好书,然后啃完它。

经常有网友要我推荐一些Java方面的书籍,这次博主就整理下网上现有的推荐,再加上自己这几年看的书籍,统一开一篇来介绍下。

正文

如果你也有写博客,但是不知道从何入手,那博主推荐就是从读书下手,然后按章节总结写成博客。这样知识不仅有巩固,还有产出,方便以后自己复习。还没有博客的话,可以参考博主的hexo教程,手把手免费搭建一个属于自己的独立博客。

下面博主就来按照分类一一推荐几本新手到老手都可以看的经典书籍。

想要获取这些书籍的电子版可以来我的QQ群:589809992

学生、职场新人

《Java核心技术·卷1 基础知识(原书第10版)》

新手入门这本就够了,这一卷讲的非常基础,又易懂,比《Java编程思想》更容易啃下来。建议人手一本。已经到第10版了,覆盖最新技术,平时经常翻阅。

个人提升

《Java8 实战》

Java8的新特性讲得最全最仔细的。

《Effective Java》

Effective Java是我读过的最好的编程书籍之一,它包含大量的优秀Java编程实践,并对泛型和并发这两个充满陷阱的Java特性给出了充满洞察力的建议,以至于Java之父James Gosling为这本书作序:“我很希望10年前就拥有这本书。可能有人认为我不需要任何Java方面的书籍,但是我需要这本书。”

Spring框架

《Spring实战(第4版)》

《精通Spring 4.x ――企业应用开发实战》

以上2本博主全部入手了,超级棒的书,博主写的SpinrgMVC干货系列就有参考这2本书的内容。

Spring Boot实战》

《JavaEE开发的颠覆者:Spring Boot实战》

《SpringBoot揭秘:快速构建微服务体系》

上面3本Spring Boot博主都有看过,系列文章也有一些从书中参考的,受益匪浅。

虚拟机相关

《深入理解 Java 虚拟机 第2版》

非常优秀且难得的国产佳作,系统的介绍了Java虚拟机和相关工具,并给出了一些调优建议。

并发编程

《Java并发编程实战》

Java并发经典,人手一本不用多说了,系统全面的介绍了Java的并发,如何设计支持并发的数据结构,以及如何编写正确的并发程序

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

国人新作,流畅易读,内容也比上面一本来得新。

设计模式

《Head First 设计模式》

对新人来说,一本Java写的《Head First 设计模式》,知道什么叫设计模式就够了。

redis相关

Redis实战》

本书深入浅出地介绍了Redis的5种数据类型,并通过多个实用示例展示了Redis的用法。除此之外,书中还讲述了Redis的优化方法以及扩展方法,是一本对于学习和使用 Redis 来说不可多得的参考书籍。

《Redis设计与实现》

Redis 是近些年来特别火爆的 NoSQL 之一。纵观中外各种书籍还没有一本能对 Redis 内部进行深入剖析,《Redis 设计与实现》可谓开此先河。

《Redis实战》和《Redis设计与实现》都是同一个作者,只不过实战是作者翻译国外英文原版,后者是作者自己写的,自己看情况选择把。

工具类

《Maven实战》

个人感觉写的挺好的,从基础到应用,很全,适合初学者,当然有一点经验的人也挺适合的,读完这本平时工作够用了。

性能优化

《Java性能权威指南》

比起多年前那部调优圣经,讲得更加深入,也更加贴近现在的JDK。可以从里面挑些知识点来,做Java调优的面试题。

单元测试

《有效的单元测试

不同于那些动辄BDD的高深书籍,专注于如何写“好”的,可维护的单元测试,拿来给团队看,能省很多口水。

程序员个人修养

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

《代码整洁之道》

《程序员的职业素养》

以上这3本虽是老书,但是都是值得一看的。满减凑单的时候可以带上。

养生

《程序员健康指南》

博主打算买一本这个了,现在写文章坐久了感觉腰疼,泪奔。博主还想多活几年。

总结

个人认为,作为程序员不要吝啬对自己的投资,只有自己强大了才能更好的赚钱。每年都要买几本书投资一下,未来的回报会超出你的想象的,博主先准备把2016年买的书先看完先。

我有一个微信公众号,经常会分享一些Java技术相关的干货。如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深度解读 MySQL 8.0 数据字典重构:源码解析与实践
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2024/10/29
2010
深度解读 MySQL 8.0 数据字典重构:源码解析与实践
MySQL分区表MAXVALUE can only be used in last partition definition错误解决方案
贺春旸的技术博客
2023/09/28
7420
MySQL-8.0 | 数据字典最强解读
数据字典(Data Dictionary)中存储了诸多数据库的元数据信息如图1所示,包括基本Database, table, index, column, function, trigger, procedure,privilege等;以及与存储引擎相关的元数据,如InnoDB的tablespace, table_id, index_id等。MySQL-8.0在数据字典上进行了诸多优化,本文将对其进行逐一介绍。
数据和云
2019/05/13
4.1K0
好险!一入职,就遇到MySQL这么大Bug!差点背锅走人~
今年,这种情况,有时候不找好下家还真不敢跳,这不,前段时间刚跳到新东家,刚办入职那天,就遇上事了,真的是吓出一身冷汗(老大一直盯着我,说要快速解决这个问题),差点被(背)开(锅)了....
用户6543014
2020/11/09
6800
好险!一入职,就遇到MySQL这么大Bug!差点背锅走人~
Innodb系统表-结构解析
数据文件和系统文件都是由多个数据页组成,每个数据页16K(默认),每个数据页都有不同的作用,有以下几种类型(storage/innobase/include/fil0fil.h):
donghy
2022/09/17
5500
分区表场景下的 SQL 优化
本文讲述了一位DBA在数据库调优过程中,对分区表进行SQL优化,通过修改表分区、增加索引、调整查询语句等手段,有效提高了查询效率。同时,提醒大家在遇到SQL性能瓶颈问题时,需要先提供足够的信息,以便更好地进行优化。
叶金荣
2017/07/04
9880
mysql分区之range分区「建议收藏」
随着互联网的发展,各方面的数据越来越多,从最近两年大数据越来越强的呼声中就可见一斑。 我们所做的项目虽算不上什么大项目,但是由于业务量的问题,数据也是相当的多。 数据一多,就很容易出现性能问题,而为了解决这个问题我们通常很容易想到集群、分片等。 但是在某些时候却不一定必须要用集群、分片,也可以适当的使用数据分区。
全栈程序员站长
2022/08/23
3.3K0
mysql分区之range分区「建议收藏」
mysql分区表_MySQL分区分表[通俗易懂]
数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询速度变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。
全栈程序员站长
2022/08/11
14.3K0
mysql分区表_MySQL分区分表[通俗易懂]
分区表放入keep pool,recycle pool的问题及解析(34天)
因为生产环境的性能瓶颈,经过诊断,给出的结论是需要把几个表和索引放入keep pool,几个索引放入recycle pool. 其实放入keep pool 确实对于频繁访问的数据,而且数据量不大的情况下,性能有一定的改善。避免了大量的物理读。大家的大体感觉都是把表放入keep pool,其实在一定的情况下,把索引放入keep pool也有一定的道理,某些较大的索引,可能已经走了索引但是还是因为索引占用的数据块较多,段太大,还是会走大量的物理读,放入keep pool也有一定的改善。 至于recycle po
jeanron100
2018/03/13
7710
三十二、分区表
分区表就是按照某种规则将同一张表的数据分段划分到多个存储位置。对数据的分区存储提高了数据库的性能,被分去存储的数据在物理上是多个文件,但在逻辑上仍然是一个表,对表的任何操作都和没有分区之前一样。在执行增删改查等操作时,数据库会自动通过找到对应的分区,然后执行操作。
喵叔
2021/06/29
6200
经验分享|MySQL分区实战(RANGE)
在 MySQL 中, InnoDB存储引擎长期以来一直支持表空间的概念。在 MySQL 8.0 中,同一个分区表的所有分区必须使用相同的存储引擎。但是,也可以为同一 MySQL 服务器甚至同一数据库中的不同分区表使用不同的存储引擎。
六月暴雪飞梨花
2023/11/30
6490
经验分享|MySQL分区实战(RANGE)
分区表学习笔记(83天)
今天总结了一下分区表的知识 分享一下。 大体有以下内容: 1.hash partition range partition list partition range hash partition range list partitio 2.partition operations add ,truncate,drop partitions merge ,move ,split partitions add values in list partitions exch
jeanron100
2018/03/14
8040
MVCC原理探究及MySQL源码实现分析
目录预览 数据库多版本读场景 MVCC实现原理 1、通过DB_ROLL_PT 回溯查找数据历史版本 2、通过read view判断行记录是否可见 MVCC解决了什么问题 MySQL代码分析 1、 InnoDB隐藏字段源码分析 2、InnoDB判断事务可见性源码分析 数据库多版本读场景 session 1session 2select a from test; return a = 10 start transaction; update test set
沃趣科技
2018/03/26
2.2K0
MVCC原理探究及MySQL源码实现分析
MySQL 5.7 分区表性能下降的案例分析
告知MySQL5.7.18的使用者分区表使用中存在的陷阱,避免在该版本上继续踩坑。同时通过对源码的讲解,升级MySQL5.7.18时分区表性能下降的根本原因,向MySQL源码爱好者展示分区表实现中锁的运用。
星哥玩云
2022/08/17
7170
MySQL 5.7 分区表性能下降的案例分析
GreatSQL删除分区慢的跟踪
某业务系统,每天凌晨会删除分区表的一个分区(按天分区),耗时较久,从最开始的30秒,慢慢变为1分钟+,影响到交易业务的正常进行。 在测试环境进行了模拟,复现了删除分区慢的情况,本次基于GreatSQL8.0.25-17进行测试,官方mysql版本也存在相同问题。
GreatSQL社区
2023/08/11
3350
GreatSQL删除分区慢的跟踪
MySQL分区表最佳实践
分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表。但是对于应用程序来讲,分区的表和没有分区的表是一样的。换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理。本篇文章给大家带来的内容是关于MySQL中分区表的介绍及使用场景,有需要的朋友可以参考一下,希望对你有所帮助。
MySQL技术
2020/06/04
3K0
故障分析 | MySQL 8.0 中多字段虚拟列引发的宕机
在这篇文章中我会分享一个在 MySQL 8.0.35 版本中修复的一个宕机 bug,以及怎样通过错误日志、corefile 和 gdb 发现的这个 bug。
爱可生开源社区
2024/10/29
4260
故障分析 | MySQL 8.0 中多字段虚拟列引发的宕机
MySQL普通表转换为分区表实战指南
本文将详细指导新手开发者如何将MySQL中的普通表转换为分区表。分区表在处理庞大数据集时展现出显著的性能优势,不仅能大幅提升查询速度,还能有效简化数据维护工作。通过掌握这一技巧能够更好地应对数据密集型应用带来的挑战,为系统的高效运行奠定坚实基础。
公众号:码到三十五
2024/06/12
5590
MySQL普通表转换为分区表实战指南
第41期:MySQL 哈希分区表
提到分区表,一般按照范围(range)来对数据拆分居多,以哈希来对数据拆分的场景相来说有一定局限性,不具备标准化。接下来我用几个示例来讲讲 MySQL 哈希分区表的使用场景以及相关改造点。
爱可生开源社区
2022/05/10
1.2K0
深度解析auto-increment自增列"Duliplicate key"问题
提示:公众号展示代码会自动折行,建议横屏阅读 问题描述 近期,线上有个重要Mysql客户的表在从5.6升级到5.7后master上插入过程中出现"Duplicate key"的错误,而且是在主备及RO实例上都出现。以其中一个表为例,迁移前通过“show create table” 命令查看的auto increment id为1758609, 迁移后变成了1758598,实际对迁移生成的新表的自增列用max求最大值为1758609。用户采用的是Innodb引擎,而且据运维同学介绍,之前碰到过类似问题,重启
腾讯数据库技术
2018/12/03
2.3K0
深度解析auto-increment自增列"Duliplicate key"问题
推荐阅读
相关推荐
深度解读 MySQL 8.0 数据字典重构:源码解析与实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档