内容简介
《Java服务端研发知识图谱》主要讲解了Java语言的使用和特性、Maven工程管理、Svn和Git代码管理、Linux服务器命令;框架部分包含Spring框架治理、SpringMVC、SpringBoot、框架演进讲解、SpringCloud微服务框架。组件部分包含MySQL数据库及操作、MongoDB存储、Redis缓存、Zookeeper配置及注册发现原理、FastDFS文件存储、ElasticSearch搜索、定时任务、RabbitMQ消息队列、ELK日志展示及分析;部署部分包含Docker镜像技术、Jenkins持续集成、Harbor镜像仓库、Rancher容器管理;工具部分包含Swagger接口文档编写及测试工具、JMeter测试工具、VisualVm分析工具等。
目录
目录
业界推荐
出版说明
前言
第一篇基础篇
第1章Java概要
1.1Java环境搭建
1.2基本类型与运算
1.3流程控制
1.4对象
1.5继承和多态
1.6容器
1.7泛型
1.8异常
1.9I/O
1.10并发
1.11反射与注解
1.12JUnit
第2章Maven
2.1Maven安装和配置文件
2.2Maven使用项目
2.3Maven坐标和依赖
2.4Maven生命周期和插件
2.5Maven聚合和继承
第3章代码管理
3.1Svn
3.2Git
第4章Linux命令
4.1Linux简介
4.2Linux常用命令
4.3Linux文件管理
4.4Linux启动服务
第二篇服务框架篇
第5章Spring
5.1Spring概述
5.2构建第一个Spring工程
5.3IoC
5.4Aop
5.5集成Logback
5.6集成MyBatis
第6章SpringMVC
6.1SpringMVC概述
6.2构建第一个SpringMVC项目
6.3SpringMVCRestful实现
6.4SpringMVC拦截器
6.5SpringMVC异常处理器
6.6SpringMVC上传和下载文件
第7章SpringBoot
7.1构建第一个SpringBoot工程
7.2起步依赖
7.3配置
7.4使用Thymeleaf构建页面
7.5使用JPA构建持久化存储
7.6Actuator
7.7部署
7.8参数校验
7.9MyBatis的框架整合及数据校验
7.10添加日志及记录请求信息
第8章服务架构
第9章SpringCloud
9.1Eureka
9.2Ribbon与Feign
9.3Hystrix与Turbine
9.4Zuul
9.5Config
9.6Sleuth与Zipkin
第三篇组件篇
第10章MySQL
10.1MySQL基本介绍和使用场景
10.2MySQL基本操作
10.3事务处理
10.4MyBatis插入获取主键
10.5MyBatis多表查询
10.6查询优化
10.7数据库主从复制原理
第11章MongoDB
11.1MongoDB基本介绍和使用场景
11.2MongoDB基本操作
11.3SpringBoot集成MongoDB
第12章Redis
12.1基本的Redis操作
12.2Redis常用命令和可视化工具
12.3Redis的五种数据格式的操作
12.4Redis事务处理
12.5Redis分布式锁
12.6Redis实现秒杀
第13章Zookeeper
13.1Zookeeper介绍
13.2基本操作
13.3服务注册与发现
第14章FastDFS
14.1FastDFS基本介绍
14.2SpringBoot集成FastDFS
第15章ElasticSearch
15.1ElasticSearch基本介绍
15.2ElasticSearch基本用法
15.3SpringBoot集成ElasticSearch
15.4SpringBoot集成
JavaRestClient
第16章定时任务
16.1SpringBoot定时任务
16.2Cron配置
16.3ElasticJob介绍
16.4简单任务
16.5流式任务
第17章RabbitMQ
17.1队列传递字符串
17.2队列传递对象
17.3队列传递Json数据
17.4Topic模式
17.5Fanout模式
第18章ELK
18.1Logstash使用
18.2Kibana使用
第四篇部署篇
第19章Docker
19.1Docker基础环境搭建
19.2Docker常用命令
19.3Docker搭建功能组件
第20章项目构建
20.1Jenkins基本介绍
20.2Jenkins基本设置
20.3构建Maven项目
20.4Harbor镜像管理
20.5Rancher容器管理
第五篇工具篇
第21章常用工具
21.1Swagger
21.2JMeter
21.3ab
21.4VisualVM
21.5JD-GUI
参考文献
前言/序言
前言
期望您能把这《Java服务端研发知识图谱》当成在Java服务端领域探索的一张微缩地图。
计算机自发明以来至今不到百年时间,但是其发展速度却是超乎想象的。这种快速的发展不仅表现在纯科研的方面,还表现在技术的普及及应用方面。首先,计算机硬件在长达半个多世纪的时间内,遵循摩尔定律一的发展规则;其次,计算机软件从最初的纸带打孔编程已经发展到现在的各种高级语言、框架等;最后,在技术应用上,近几年刚刚成熟的移动互联网,已经改变了千千万万人的生活。
计算机如此迅猛的发展速度,当然与广大从业者的不断努力和探索是分不开的。目前计算机的飞速发展仍处于人类的控制之下,还没有出现独立的苗头,但是计算机在某些特定领域已经可以战胜人类了。不久前计算机在围棋上战胜了人类,这其实并没有那么让人吃惊,因为笔者认为在所有条件和规则已知,并且有明确胜负标准(棋类作为代表)的前提下,人类与计算机对局已经毫无还手之力。
计算机现在的发展已经如此健全和强大,对于计算机从业者来说可能并不是一个好消息,因为从业者要学习大量的计算机知识。这也是笔者写作《Java服务端研发知识图谱》想解决的问题:面对那么多知识,应该如何学习以及如何最快地学习。所以《Java服务端研发知识图谱》尽量涵盖了与Java相关的语言要点、服务框架、功能组件体系以及其他辅助工具,目的就是通过最精炼的篇幅,讲述某一技术领域最常用的部分,而此部分会让读者快速地理解、接收并运用到实际工作中。
《Java服务端研发知识图谱》共分为五篇,每篇内容如下:
第一篇主要讲解Java语言,以及工程构建、代码管理和基本的服务器命令,以这些内容作为《Java服务端研发知识图谱》的起点和基础。
第二篇主要讲解Spring框架治理、服务框架SpringMVC和SpringBoot、服务架构的演进以及微服务框架SpringCloud。
第三篇主要讲解在服务中使用的数据库、缓存、定时任务、消息队列、全局搜索等功能组件的使用方法和使用场景。
第四篇主要讲解镜像技术的用法,使用镜像技术快速搭建功能环境的服务组件,并且讲解使用Jenkins构建工程以及服务部署相关的内容。
第五篇主要讲解在日常工作中,为了提高工作质量和效率所使用的研发工具。
《Java服务端研发知识图谱》采用循序渐进的方式,讲述Java服务端研发所涉及的几个领域。希望读者阅读《Java服务端研发知识图谱》后,对相关内容进行实践和总结,从而在脑海中绘制出属于自己的技术版图。
书中包含大量代码,为了避免分散读者的注意力,书中省略了部分重复的和不重要的代码。如果读者想查看完整的代码可以下载《Java服务端研发知识图谱》附带的源代码进行了解。
编写技术类书籍是一件非常辛苦的事情,与日常研发不同,编写技术类书籍不仅要会用涉及的技术,还要了解其原理,并且要以读者能够理解的方式讲述出来,同时还要保证技术使用的正确性以及描述的准确性。在编写此书的过程中,两位作者一直秉承着实用且精简的原则,经过几轮的代码复查和文档复查才终于结稿。在此特别感谢默默支持着我们的家人,朋友,感谢曾经一起工作奋战过的同事冯剑、侯金砖、尹波,感谢机械工业出版社车忱编辑,感谢曾经支持过我们的所有人。谢谢大家!