内容简介

  《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服务端研发知识图谱》附带的源代码进行了解。
  编写技术类书籍是一件非常辛苦的事情,与日常研发不同,编写技术类书籍不仅要会用涉及的技术,还要了解其原理,并且要以读者能够理解的方式讲述出来,同时还要保证技术使用的正确性以及描述的准确性。在编写此书的过程中,两位作者一直秉承着实用且精简的原则,经过几轮的代码复查和文档复查才终于结稿。在此特别感谢默默支持着我们的家人,朋友,感谢曾经一起工作奋战过的同事冯剑、侯金砖、尹波,感谢机械工业出版社车忱编辑,感谢曾经支持过我们的所有人。谢谢大家!

其他推荐