1、微服务技术栈
微服务条目 | 技术 | 备注 |
服务开发 | Springboot、Spring、SpringMVC | |
服务配置与管理 | Netflix公司的Archaius、阿里的Diamond等 | |
服务注册与发现 | Eureka、Consul、Zookeeper等 | |
服务调用 | REST、RPC、gRPC | |
服务熔断器 | Hystrix、Envoy等 | |
负载均衡 | Ribbon、Nginx等 | |
服务接口调用(客户端调用服务发简单工具) | Feign等 | |
消息队列 | kafka、RabbitMQ、ActiveMQ等 | |
服务配置中心管理 | SpringCloudConfig、Chef等 | |
服务路由(API网关) | Zuul等 | |
服务监控 | Zabbix、Nagios、Metrics、Spectator等 | |
全链路追踪 | Zipkin、Brave、Dapper等 | |
服务部署 | Docker、OpenStack、Kubernetes等 | |
数据流操作开发包 | SpringCloud Stream(封装与Redis,Rabbit、Kafka等发送接收消息) | |
事件消息总线 | SpringCloud Bus |
2、Spring Boot + Spring Cloud 技术栈
3、Java核心技术
Java语言概述 | Java基础语法 |
1.Java编程语言发展简史 2.Java编程语言主要特征 3.Java技术体系平台 4.Java核心机制与JVM运行原理 5.搭建 Java开发环境 6.JDK 的安装与配置 7.开发体验 Java 应用程序 8.Java 程序的执行原理 9.Java Code Style 10.变量的声明与使用 11.变量内存空间分配与原理 | 16.流程控制语句 17.Java 编译器执行流程 18.if 分支结构 19.switch 选择结构与相关规则 20.循环结构 21.for 循环 22.while 循环 23.do-while 循环语句 24.各语句性能对比与应用场景 25.特殊流程控制语句 26.方法的声明与使用 27.方法调用的过程分析 28.跨类调用方法 29.参数的值传递 30.方法的重载 Overload |
Java数组 | 面向对象编程 |
31.static 修饰符 32.类的成员之代码块 33.静态代码块与非静态代码块 34.单例 (Singleton) 设计模式 35.final 修饰符 36.包 (package) 的管理与作用 37.DOS 命令行下编译器操作 38.使用 jar 命令打包应用程序 39.数组的创建与使用 40.一维数组与多维数组 41.数组的默认初始化与内存分析 42.数组的常见算法分析 43.操作数组的工具类 Arrays 44.命令行参数 45.可变参数 | 46.类和对象 47.对象的属性和方法 48.Java 的内存管理与垃圾回收 49.JVM 的内存结构 50.面向对象的三大特性 51.对象的关联关系 52.Object 类的结构与方法 53.继承中类中各个成员特点 54.方法重写 Override 55.访问权限修饰符 56.多态与虚拟方法调用 57.instanceof 运算符 58.多态的应用之多态数组 59.多态的应用之多态参数 60.对象类型的转换 |
高级类特性 | Java API |
61.抽象类 (abstract) 实际应用举例 62.接口 (interface) 的应用与常见问题 63.Template Method 设计模式 64.代理模式 (Proxy) 65.类的成员之内部类 66.匿名内部类 67.Java8 中匿名内部类的新特性 68.Enum枚举 69.枚举的属性与方法 70.接口实现枚举类 71.Annotation 注解 72.JDK 内置注解 73.自定义注解 74.元注解 | 75.Wrapper 包装类 76.装箱与拆箱 77.包装类的缓存分析 78.字符串处理类 79.String 类的使用与内存原理 80.String 类的算法分析 81.StringBuffer 与 StringBuilder 82.字符串处理类性能分析 83.新日期API 84.Java.lang.System类 85.Java.util.Date类 86.Java.text.SimpleDateFormat类 87.Java.util.Calendar类 88.Java.lang.Math类 89.Java.math.BigInteger类与 |
异常处理 | 集合与泛型 |
90.异常的原理 91.异常的堆栈抛出机制 92.异常的结构体系 93.受检与非受检异常 94.异常的处理 95.try-catch 示例 96.使用finally回收资源 97.throw 制造异常 98.异常的处理方式之throws 99.Java 7增强的throw 语句 100.方法重写与 throws 101.自定义异常 102.实战中自定义异常的应用解析 103.异常信息的访问 104.Java 程序的常见问题及解决 | 105.集合框架概述 106.Collection 系列集合 107.List 系列集合与Set系列集合 108.java.util.ArrayList源码与数据结构分析 109.java.util.LinkedList 源码分析 110.java.util.HashSet 内部原理 111.java.util.TreeSet 数据结构分析 112.java7 中Map 系列集合与数据结构分析 113.java8 中 Map 系列集合新特性对比 114.java.util.concurrent.ConcurrentHashMap 115.Iterator 与 ListIterator 116.Collections 工具类 117.集合中使用泛型 118.自定义泛型 119.通配符 |
JavaIO流 | Java线程 |
120.IO流结构体系 121.IO流原理分析 122.IO流的分类 123.IO流与文件操作 124.IO流的包装与链接 125.缓冲流 126.文件的复制与性能对比 127.对象流 128.对象的序列化与反序列化 129.控制台IO 130.标准输入流与标准输出流 131.打印流 132.转换流 133.字符编码与解码 | 134.线程的原理 135.线程的创建与启动 136.创建线程的几种方式对比 137.继承 Thread 类与实现 Runnable 接口 138.创建线程方式对比 139.线程的控制 140.线程的调度 141.线程的优先级 142.线程的生命周期 143.多线程的安全问题与解决办法 144.线程的同步 145.互斥锁 146.线程的死锁问题 147.线程通信 148.生产者与消费者案例 |
Java反射 | 网络编程 |
149.Java 反射机制的研究与应用 150.反射的原理分析 151.JVM与类 152.类的加载、连接、初始化 153.类初始化的时机 154.类加载器 ClassLoader简介 155.类加载机制 156.创建并使用自定义的类加载器 157.开启反射的源头 Class 158.获取 Class 实例的四种方式 159.从 Class 中获取信息 160.Proxy 和 InvocationHandler 创建动态代理 161.动态代理和AOP(Aspect Orient Programming) 162.泛型和Class类 163.使用反射来获取泛型信息 | 164.网络编程基础知识 165.网络编程的主要问题 166.如何实现网络中主机的相互通讯 167.网络通讯要素 168.网络通信协议 169.OSI参考模型 170.TCP/IP参考模型(或TCP/IP协议) 171.数据的封装与拆封 172.Java.net.InetAddress 类 173.TCP 协议与UDP协议 174.基于TCP协议的网络编程 175.Socket 的TCP编程 176.基于UDP协议的网络编程 177.URL编程 178.针对HTTP协议的URLCon |
Java8新特性 | Java9新特性 |
79.Lambda 表达式 180.类型推断 181.Java8核心函数式接口 182.Lambda表达式的参数传递 183.方法引用与构造器引用 184.强大的 Stream API 185.Stream 操作的核心步骤 186.惰性求值与内部迭代 187.筛选与切片 188.映射与排序 189.查找与匹配 190.归约与收集 191.并行流与串行流 192.Optional 容器类 | 193.下载安装及环境配置 194.目录结构变化 195.模块化的特性概述 196.jshell命令的使用 197.多版本兼容jar包 198.接口中定义私有方法 199.钻石操作符的使用升级 200.异常处理try结构的使用升级 201.下划线命名标识符的限制 202.string底层存储结构的变化 203.创建只读集合 204.增强的stream API 205.Optional提供的stream() 206.多分辨率图像API |
3、数据库基础知识
Mysql知识点 | Oracle数据库 | JDBC与DBUtils |
1.Mysql的安装和使用 2.图解Mysql程序结构 3.Mysql服务器的配置 4.Mysql 客户端使用 5.用户权限管理 6.Mysql数据库的使用 7.Mysql的安装和使用 8.图解Mysql程序结构 9.Mysql服务器的配置 10.Mysql 客户端使用 11.用户权限管理 12.Mysql数据库的使用 | 1.Oracle数据库的安装和配置 2.Oracle数据库管理 3.基本的SQL-SELECT语句 4.过滤和排序数据 5.单行函数 6.多表查询 7.分组函数 8.子查询 9.创建和管理表 10.数据处理 11.节约束 12.控制用户权限 13.高级子查询 14.(轻量版)基本语法 15.(轻量版)流程控制 | 1.JDBC概述 2.获取数据库连接 3.数据库连接池C3P0 与 DBCP 4.使用JDBC 完成数据库DML操作 5.大数据的操作 6.批量处理与元数据 7.使用QueryRunner 8.可插拔式结果集处理 9.批量处理 10.大数据结果集处理 11.自定义结果集处理 12.利用DBUtils编写通用 DAO |
4.JavaWeb开发
HTML5与CSS3 | Bootstrap | JavaScript |
1.B/S架构 2.HTML基本使用 3.HTML DOM 4.CSS选择器 5.常用样式 6.盒子模型与布局 7.HTML5新特性 8.CSS3新特性 | 1.bootstrap快速使用 2.栅格系统 3.表单、表格、按钮、图片 4.下拉菜单 5.按钮组使用 6.导航条 7.分页、进度条 | 1.JavaScript基本语法 2.JavaScript流程控制 3.数组、函数、对象的使用 4.JavaScript事件绑定/触发 5.JavaScript事件冒泡 6.JavaScript嵌入方式 7.JavaScript DOM操作 8.DOM API |
jQuery | JavaScript DOM | Web服务器基础 |
1.jQuery快速入门 2.jQuery语法详解 3.jQuery核心函数 4.jQuery对象/JavaScript对象 5.jQuery选择器 6.jQuery 文档处理 7.jQuery事件 8.jQuery动画效果 | 1.获取元素节点 2.读写属性节点 3.读写文本节点 4. 创建并加入节点 5.DOM4j节点查询 6.DOM4j文档操作 7.innerHTML属性 8.select级联选择 | 1.HTTP协议 2.HttpWatch 3.Tomcat服务器搭建 4.Tomcat目录结构解析 5.Tomcat端口配置 6.Tomcat启动&停止 7.Tomcat&Eclipse整合 8.Eclipse配置优化 |
AJAX&JSON | Servlet | JSP |
1.AJAX技术衍生 2.XMLHttpRequest使用 3.同步请求&异步请求 4.JSON语法 5.Java JSON转换 6.JavaScript JSON转换 7.jQuery 基本AJAX方法 8.底层$.ajax使用 | 1.Servlet体系 2.Servlet生命周期 3.ServletConfig&ServletContext 4.请求&响应 5.重定向&转发 6.中文乱码解决方案 7.项目路径问题 | 1.JSP语法 2.JSP原理 3.JSP脚本片段&表达式 4.JSP声明&指令 5.JSP九大隐含对象 6.域对象使用 |
JSTL | EL | Cookie&Session |
1.JSTL简介 2.JSTL-核心标签库 3.JSTL-函数标签库 4.JSTL-fmt标签库 5.自定义标签库使用 6.自定义标签库原理 | 1.EL表达式简介 2.EL使用 3.EL取值原理 4.EL的11大隐含对象 5.EL2.2与3.0规范 6.EL逻辑运算 7.函数库深入 | 1.Cookie机制 2.Cookie创建&使用 3.Session原理 4.Session失效 5.Url重写 6.Session活化&钝化 7.Token令牌应用 |
Filter&Listener | 国际化 | 文件上传下载 |
1.Filter原理 2.Filter声明周期 3.Filter链 4.Filter登录验证 5.Filter事务控制 6.Listener原理 7.八大监听器使用 8.Listener监听在线用户 | 1.国际化原理 2.ResourceBundle&Locale 3.国际化资源文件 4.日期/数字/货币国际化 5.页面动态中英文切换 6.页面点击链接中英文切换 7.fmt标签库的使用 | 1.文件上传原理 2.commons-io&commons-fileupload 3.文件上传参数控制 4.文件上传路径浏览器兼容性解决 5.文件下载原理 6.文件下载响应头 7.文件下载中文乱码&浏览器兼 |
5、流行框架
Spring | Spring注解驱动 | SpringMvC |
1.SpringIOC&DI机制 2.Spring配置式组件管理 3.Spring注解式自动装配 4.Spring表达式语言 5.SpringAOP&动态代理 6.SpringJDBC使用 7.Spring声明式事务 8.Spring单元测试 9.Spring源码分析 10.Spring、Struts2、Hibernat | 1.开发组件注册及使用 2.注解驱动开发生命周期 3.注解驱动开发属性赋值 4.注解驱动开发自动装配 5.注解驱动开发IOC 6.注解驱动开发AOP 7.声明式事务 8.扩展原理 9. 注解驱动开发servlet 10.springMVC整合分析 | 1.SpringMVC配置&运行流程 2.SpringMVC数据绑定 3.模型处理&@ModelAttribute 4.RestFulCRUD 5.表单标签&静态资源处理 6.数据转换&格式化&JSR303数据校验 7.HttpMessageConverter 8.Ajax&国际化&文件上传下载 9.异常处理 10.整合&父子容器 |
MyBatis | 通用Mapper | Struts2 |
1.MyBatis配置&查询数据 2.MyBatis全局配置文件 3.MyBatis映射文件 4.关联查询,动态sql 5.MyBatis缓存机制&整合ehcache 6.MyBatis逆向工程 7.MyBatis、Spring、SpringMVC整合 8.MyBatis运行原理&源码分析 9.MyBatis拦截器&插件开发 10.分页插件&存储过程调用 | 1.创建数据库表和实体类 2.Mapper接口介绍 3.创建测试类 4.selectByPrimaryKey方法 5.existsByPrimaryKey方法 6.insert方法 7.QBC查询 8. 通用Mapper逆向工程 9.二级缓存 10.枚举类型 | 1.Struts2流程 2.值栈与ONGL 3.Struts2标签库 4.Struts2模型驱动原理 5.Struts2声明式异常处理 6.Struts2类型转换&自定义类型转换 7.Struts2拦截器原理&自定义拦截器 8.Struts2源码分析&运行原理 |
Hibernate | JPA | SpringData |
1.Hibernate环境搭建&配置 2.hibernate.cfg.xml&主键生成策略 3.Session核心方法 4.ORM映射:单向/双向1-n映射 5.ORM映射:基于主/外键映射&n-n 6.检索策略&迫切左外连接 7.Hibernate缓存机制 8.QBC、HQL 9.Session管理 | 1.JPA技术体系 2.JPA注解 3.JPA相关API 4.JPA映射 5.JPQL 6.二级缓存 7.Spring整合JPA | 1.SpringData快速入门 2.SpringData_Repository接口 3.Repository查询规范 4.@Query&@Modifying 5.CrudRepository 6.PagingAndSortingRepository 7.JpaRepository 8.JpaSpecificationExecutor 9.自定义Repository |
Maven | SVN | Shiro |
1.Maven环境搭建 2.Maven构建&自动化构建 3.本地仓库&中央仓库 4.maven创建web工程 5.pom.xml、依赖管理 6.坐标、依赖、生命周期等 7.eclipse下的maven使用 8.继承&聚合 9.maven构建SSH/SSM应用 10.自动部署&持续集成&持 | 1.SVN简介 2.SVN服务器搭建 3.SVN创建版本库 4.Eclipse整合svn插件 5.使用SVN更新提交 6.SVN仓库分析 7.SVN协同修改&冲突解决 8.SVN权限管理 9.SVN时光机 10.TortoiseSVN | 1.Shiro入门 2.Spring集成Shiro 3.Shiro工作流程 4.权限URL配置 5.认证流程&认证Realm 6.密码比对,MD5&盐值加密 7.授权流程 8.标签&权限注解 9.会话管理、SessionDao 10.缓存 11.实现”记住我” |
Linux | Redis | Git&Git Hub |
1.Linux系统-基础 2.Linux网络基础 3.Linux在VMware下的安装 4.Linux下Java环境的搭建 5.Linux下Tomcat安装和配置 6.Linux下 Oracle/MySQL 安装与配置 7.Shell 编程 | 1.NoSQL&Redis入门 2.Redis/memcache/MongDB对比 3.Redis安装&启动 4.分布式数据库CAP原理 5.Redis五大数据类型和基本操作命令 6.Redis总体配置Redis.conf 7.Redis持久化(RDB和AOF) 8.Redis事务控制 9.Redis发布和订阅 10.Redis(Master/Slave)主从复制 11.Jedis | 1.Git安装配置 2.Git本地库搭建 3.Git常用操作命令 4.Github注册与配置 5.Github与Git协同办公 6.TortoiseGit安装配置 7.Egit操作push/pull, 8.Git工作流 9.集中式&GitFlow&Forking |
MySQL高级 | JVM原理 | Jenkins |
1.MySQL架构组成 2.MySQL备份和恢复 3.MySQL查询和慢查询日志分析 4.MySQL索引优化 5.MySQL存储引擎优化 6.MySQL锁机制优化 7.MySQL高可用设计 8.MySQL集群 | 1.JVM简析 2.JVM组成结构 3.JVM堆、栈原理 4.JVM-Heap三区原理 5.JVM垃圾收集机制 6.堆内存调优 7.GC回收策略 8.GC三大算法 | 1.持续交付概念 2.web工作部署方式说明 3.应用服务器设置账号密码说明 4.创建用于测试的Maven工程 5.curl命令触发构建 6.编辑SVN钩子程序 7.安装Git客户端 8.关闭防止跨站点请求伪造 9.Spring整合Quartz |
RBAC权限实战 | Java 开发利器 | |
1.RBAC项目说明 2.SSM框架的集成 3.web-xml文件中spring监听配置 4.登录功能操作 5.权限模型 6.用户维护 7.许可维护 8.角色维护 | 1.IntelliJ IDEA的介绍和安装 2.IntelliJ IDEA的结构说明 3.IntelliJ IDEA快捷键的设置 4.CIntelliJ IDEA的修改 5.IntelliJ IDEA自定义模块 6.关联数据库 7.Lock 同步锁 8.Condition 控制线程通信 9.IDEA中的断点调试 |
6、互联网新技术
Dubbo | SpringBoot | SpringCloud |
1.分布式服务框架简介 2.dubbo+zookeeper介绍 3.注册中心的安装启动 4.监控中心的启动 5.dubbo在项目中整合 6.dubbo的服务提供者配置和启动 7.dubbo的服务消费者配置和启动 8.dubbo运行测试 9.负载均衡和bug调试等其他功 | 1.SpringBoot的简介 2.基于SpringBoot 多模块实战开发 3.基于SpringBoot 文件上传 4.基于SpringBoot Elasticsearch搜索引擎开发 5. 基于SpringBoot 的Thymeleaf 模板引擎 6.基于SpringBoot 的Redis实战开发 7.基于SpringBoot 的ActiveM | 1. 微服务架构 2. SpringCloud的简介 3.Eureka Server的高可用 4.Ribbon实现客户端负载均衡 5. Feign实现声明式REST调用 6.Hystrix实现微服务的容错处理 7.Zuul构建微服务网关 8.SpringCloud Sleuth 实现微 |
Docker | Zookeeper | |
1. Docker的架构 2. Docker上运行微服务 3. Docker Registry 管理Docker镜像 4. Maven插件构建Docker镜像 5. Docker Compose编排Sprin | 1.Zookeeper简介及组件 2.Zookeeper的工作流程,leader select过程 3.搭建Zookeeper为分布搭建、集群搭建 4.Zookeeper Cli 5.使用Zookeeper的客户端API连接Zookeeper 6.Zookeeper rmi高可用分布式集群开发 7.Netty 异步io通信框架 8.Zookeeper实现netty分布 |
7、云计算与大数据
大数据技术概论 | Hadoop概述与安装 | Shell概述及案例 |
1.大数据概念 2.大数据的特点 3.大数据能干啥? 4.大数据发展前景 5.企业数据部的业务流程分析 6.企业数据部的一般组织结构 7.大数据技术生态体系 | 1.Hadoop是什么 2.Hadoop发展历史 3.Hadoop的优势及前景 4.Hadoop组成结构 5.推荐系统框架图 6.配置ssh免登录密钥 7.Hadoop集群环境搭建 8.Hadoop配置文件 | 1.Shell概述 2.Shell解析器 3.Shell运算符 4.Shell案例 5.Shell自定义函数案例 6.ShellCut案例 7.ShellSed案例 8.ShellAwk案例 9.ShellSort案例 |
Flume介绍 | Kafka详解 | Hadoop-HA高可用 |
1.Flume介绍及其原理 2.监控端口数据官方案例 3.实时读取本地文件到HDFS案例 4.Flume单数据源多出口案例分析 5.Flume单数据源多出口案例实现 6.Flume多数据源汇总案例分析 7.Flume多数据源汇总案例实现 | 1.Kafka课程介绍 2.Kafka架构 3.Kafka命令操作 4.Kafka工作流程分析 5.Kafka生产数据流程 6.Kafka消费数据 7.Kafka生产者API使用 8.Kafka低级API参数设置 9.Kafka拦截器 | 1、Hadoop2.x集群搭建 3、NameNode的高可用性(HA) 4、HDFS Federation 4、ResourceManager 的高可用性(HA) 5、Hadoop集群常见问题和解决方法 6、Hadoop集群管理 |
HBase详解 | Hive入门 | Hive深入 |
1.HBase介绍 2.HBase架构 3.HBase安装配置与启动 4.HBaseShell操作 5.HBase数据结构 6.HBase判断表 7.HBase添加数据 8.HBase删除数据 9.HBase自定义 | 1、Hive发展前景及架构概述 2、Hive优点及使用场景 3、Hive安装环境准备 4、Hive安装部署 5、Hive基本操作 6、Hive运行日志配置和查看讲解 7、Hive常见属性配置 | 1、Hive 表的创建 2、Hive 数据类型 3、Hive 外部表的讲解 4、Hive 分区表 5、Hive 常见查询 6、Hive UDF编程 |
Hive高级 | Sqoop介绍 | Oozie介绍 |
1、Hive中使用snappy压缩 2、Hive Storage Format讲解 3、Hive 企业使用优化 4、自定义UDF去除数据双引号项目实战 5、自定义UDF转换日期时间数据项目实战 6、依据业务编写HiveQL分析数 | 1.Sqoop介绍及安装 2.Sqoop数据导入 3.Sqoop查询导入 4.Sqoop导入数据到Hive 5.Sqoop导入数据到HBase 6.Sqoop导出数据 | 1.Oozie介绍及安装 2.Oozie功能模块 3.Oozie快速部署CDH版本Hadoop 4.Oozie部署环境准备 5.Oozie发布&启动 6.Oozie调度Shell脚本案例 |
6.JDK 的安装与配置
7.开发体验 Java 应用程序
8.Java 程序的执行原理
9.Java Code Style
10.变量的声明与使用
11.变量内存空间分配与原理
- 123
- 23