哈尔滨PHP培训

JavaEE+分布式开发 高薪就业课程大纲

第一部分 Java基础

HTML语言

1、HTML发展史
2、Hbuilder安装和配置
3、HTML基础标签、字符实体
4、img标签和a标签
5、HTML多媒体标签
6、HTML列表、表格标签
7、HTML表单标签
8、frameset和iframe
9、HTML5新增标签

CSS层叠样式表

1、CSS基础语法
2、CSS参考知识(长度单位、颜色单位和路径)
3、CSS基本、复合选择器
4、超链接伪类样式
5、常用CSS样式
6、CSS元素分类(块级、行内和行内块级)
7、div和span
8、行内元素和块元素
9、CSS盒子模型
10、CSS3新增属性

初识Java

1、Java编程语言发展简史
2、Java编程语言主要特征
3、Java技术体系以及平台介绍
4、Java核心机制与JVM运行原理
5、DOS常见命令
6、搭建Java开发环境
7、JDK的安装与配置
8、开发第一个Java程序
9、Java程序的执行原理
10、字节码反编译(jd-gui.ex)

数据类型和运算符

1、进制及其转换
2、标识符、字符编码
3、常量和变量
4、八大基本数据类型
5、final常量
6、Scanner
7、算术运算符
8、赋值运算符
9、关系运算符
10、逻辑运算符
11、位运算符
12、条件运算符
13、运算符的优先级关系
14、基本数据类型的自动转换和强制转换

流程控制

1、Java代码的执行流程介绍
2、if选择结构
3、switch多重选择结构
4、使用Random生成随机数
5、while循环结构
6、do-while循环结构
7、for循环结构
8、三种循环结构的比较
9、跳转语句:break、continue、return
10、多重循环
11、方法的声明与使用
12、方法调用的内存分析
13、方法重载Overload

数组

1、数组的特点和优缺点
2、数组的创建与使用
3、数组的默认初始化与内存分析图
4、for-each循环
5、数组作为方法形参传递
6、数组的常见算法及其数组优缺点分析
7、操作数组的工具类Arrays
8、方法的可变参数详解
9、二维数组及其应用
10、使用jar命令打包应用程序
11、idea的安装和使用
12、idea下调试程序
13、常见的面试题讲解

第二部分 JavaSE

面向对象编程(基础)

1、面向过程和面向对象区别
2、类和对象的概述
3、类的属性和方法
4、创建对象内存分析
5、构造方法(Construtor)及其重载
6、对象类型的参数传递
7、this关键字详解
8、static关键字详解
9、局部代码块、构造代码块和静态代码块
10、package和import详解
11、JavaDoc生成API文档

面向对象编程(进阶)

1、面向对象的三大特性
2、面向对象之--封装(Encapsulation)
3、访问权限修饰符
4、面向对象之--继承(Inheritance)
5、Object类
6、方法重写Override
7、super关键字详解
8、重写equals()和toString()
9、继承中对象创建的内存分析
10、组合
11、面向对象之--多态(Polymorphism)
12、向上转型
13、向下转型
14、instanceof运算符
15、编译时和运行时详解
16、final修饰符
17、抽象类和抽象方法(abstract)
18、接口的定义和实现
19、JDK8的接口新特性
20、接口应用:内部比较器Comparable
21、内部类详解
22、Java的内存管理与垃圾回收

异常机制

1、异常的概述
2、异常的执行过程分析
3、try-catch-finally捕捉异常
4、throw抛出异常
5、throws声明异常
6、异常继承体系
7、运行时异常和编译异常
8、自定义异常

Java常用类

1、Wrapper包装类
2、自动装箱和自动拆箱
3、包装类的源码分析
4、String类的使用与内存原理
5、String类的源码分析
6、StringBuffer
7、StringBuilder
8、字符串处理类性能分析
9、Date类
10、System类
11、DateFormat类
12、Calendar类
13、Math类
14、BigInteger类和BigDecimal类
15、Random类
16、枚举类型
17、File类
18、常见的面试题讲解与分析

数据结构和算法

1、数据结构的概述
2、线性表
3、顺序表
4、链表
5、栈和队列
6、树
7、二叉树
8、二叉查找树
9、二叉平衡树
10、红黑树
11、图
12、冒泡排序
13、选择排序
14、递归
15、折半查找

集合(容器)

1、集合和数组的联系和区别
2、集合框架体系
3、ArrayList的使用和源码分析
4、集合中使用泛型
5、LinkedList的使用和源码分析
6、HashSet的使用和源码分析
7、哈希表及其原理
8、TreeSet的使用和源码分析
9、比较器Comparable和Comparator
10、HashMap的使用和源码分析
11、TreeMap的使用和源码分析
12、Iterator与ListIterator
13、Collections工具类
14、旧集合类Vector、Hashtable
15、集合总结和选择依据
16、泛型接口
17、泛型类
18、泛型方法

IO流

1、IO流的概念
2、IO流的分类及其原理分析
3、文件流FileInputStream、FileOutputStream
4、缓冲流BufferedInputStream、BufferedOutputStream
5、数据流DataInputStream、DataOutputStream
6、对象流ObjectInputStream、ObjectOutputStream
7、序列化和反序列化
8、转换流InputStreamReader、OutputStreamWriter
9、打印流PrintWriter和PrintStream
10、数组流ByteArrayOutputStream、ByteArrayInputStream
11、使用IO流复制文件夹

多线程

1、进程和线程
2、线程的创建与启动
3、创建线程的三种方式对比
4、线程的生命周期
5、线程控制
6、多线程的安全问题与解决办法
7、线程的同步:同步代码块
8、线程的同步:同步方法
9、线程的同步:Lock锁
10、线程的死锁问题
11、线程通信
12、Condition
13、线程的完整生命周期
14、线程池ThreadPoolExecutor
15、ForkJoin框架
16、ThreadLocal类

网络编程

1、计算机网络基础知识
2、网络通信协议
3、OSI参考模型
4、TCP/IP参考模型
5、数据的封装与拆封原理解析
6、TCP协议
7、UDP协议
8、IP地址和端口号
9、URL和Socket
10、使用TCP编程实现登录功能
11、使用UDP编程实现客服系统
12、使用TCP编程实现上传文件

集合提升训练

1、手写ArrayList
2、手写单链表
3、手写LinkedList
4、手写HashMap
5、手写HashSet
6、最新并发集合类

多线程提升训练

1、生产者消费者模式扩展
2、Lock锁和Condition
3、ReadWriteLock
4、BlockingQueue
5、volatile关键字
6、多线程题目练习
7、JDK新特征
8、面试题讲解

第三部分 数据库阶段

MySQL基础

1、数据库基础知识
2、MySQL基础知识
3、MySQL8新特征
4、安装和卸载MySQL8
5、使用navicat访问数据库
6、SQL语言入门
7、创建数据库表
8、DML
9、修改删除数据库表
10、表的完整性约束
11、表的外键约束
12、DML扩展

MySQL 查询语句

1、基本select查询
2、where子句
3、函数
4、group by
5、having
6、SQL99-内连接查询
7、SQL99-外连接查询
8、SQL99-自连接查询
9、SQL92-连接查询
10、不相关子查询
11、相关子查询
12、分页查询

数据库对象

1、索引
2、事务及其特征
3、事务的并发问题
4、事务的隔离级别
5、视图
6、存储过程
7、导入导出数据
8、SQL面试题讲解

JDBC

1、JDBC概述
2、使用JDBC完成添加/更新/删除操作
3、使用JDBC完成查询操作
4、JDBC常用接口
5、使用PreparedStatement
6、使用事务完成银行转账
7、提取DBUtil工具类
8、使用Properties读写属性文件
9、日志框架log4j
10、开发员工管理系统

反射和注解

1、Java反射机制的研究与应用
2、反射的原理分析
3、开启反射的源头Class
4、获取Class实例的几种方式比较
5、从Class中获取类的结构信息
6、Constructor
7、Field
8、Method
9、使用反射突破泛型的限制
10、使用反射读取泛型
11、使用反射获取数组元素类型
12、使用反射模拟MyBatis的select()
13、注解的作用
14、内置注解
15、元注解
16、自定义注解
17、使用反射读取注解

数据库建模和UML建模

1、PowerDesigner介绍
2、数据库建模
3、数据库建模反向工程
4、数据库表之间的三种关联关系
5、三大范式
6、认识UML
7、类的六种关系
8、类图
9、用例图
10、时序图
11、业务流程图

MyBatis

1、MyBatis概述
2、MyBatis入门配置
3、基本的CRUD操作
4、核心配置文件详解
5、Mapper.xml基础详解
6、模糊查询
7、分页的实现及插件PageHelper的使用
8、动态sql+sql片段的使用
9、一对多、多对一的关系处理
10、注解的使用
11、一级缓存和二级缓存说明及使用
12、generator逆向工程使用

设计模式

1、设计模式入门
2、面向对象设计七大原则
3、简单工厂模式
4、工厂方法模式
5、单例模式
6、原型模式
7、装饰模式
8、适配器模式
9、外观模式

第四部分 Web前端

JavaScript

1、JavaScript概述与特点
2、JS基础语法
3、函数
4、数组
5、Math对象
6、String对象
7、Date对象
8、事件event
9、浏览器开发者工具
10、console
11、DOM和BOM
12、window
13、location
14、navigator
15、history
16、认识DOM
17、DOM获取元素

jQuery

1、jQuery简介及快速入门
2、jQuery入口函数
3、jQuery对象与DOM对象互相转换
4、基本选择器
5、属性选择器
6、位置选择器
7、表单选择器
8、内容选择器
9、jQuery事件
10、jQuery动画效果
11、DOM操作-操作文本
12、DOM操作-操作属性
13、DOM操作-操作元素
14、直接操作CSS样式
15、操作CSS类样式
16、购物车案例
17、表单验证
18、正则表达式

BootStrap

1、BootStrap概述
2、BootStrap栅格系统
3、BootStrap常用全局CSS样式
4、常用组件
5、常用JavaScript插件

Vue

1、vsCode和插件安装
2、webpack介绍
3、Vue项目创建
4、Vue模板语法
5、Vue条件渲染
6、Vue列表渲染
7、Vue事件处理
8、Vue计算属性
9、Vue Class与Style
10、Vue表单处理
11、Vue组件
12、Vue组件生命周期
13、Vue 路由配置
14、Vue Axios网络请求
15、Vue跨域处理
16、Vue Element
17、Mock.js

第五部分 JavaEE

Servlet

1、web开发概述
2、B/S和C/S架构简介
3、HTTP协议
4、HTTP请求头和响应头
5、Tomcat安装使用
6、Tomcat目录结构
7、Servlet概述
8、Servlet快速入门
9、Servlet生命周期
10、读取配置文件信息
11、HttpServletRequest
12、HttpServletResponse
13、GET和POST区别
14、解决中文乱码
15、请求转发与重定向
16、绝对路径和相对路径
17、Cookie
18、Session
19、ServletContext
20、ServletConfig

JSP

1、JSP技术介绍
2、JSP的执行过程
3、scriptlet
4、表达式
5、声明
6、JSP指令元素
7、JSP动作元素
8、JSP隐式对象
9、JSP底层原理
10、九大内置对象
11、四个作用域
12、Servlet和JSP的关系和区别
13、MVC模式
14、合并Servlet

EL+JSTL+过滤器+监听器

1、EL介绍及使用
2、EL取值原理
3、EL隐含对象
4、EL逻辑运算
5、JSTL介绍-核心标签库
6、JSTL核心标签库
7、JSTL-格式标签库
8、Filter原理
9、Filter生命周期
10、Filter链
11、Filter登录验证
12、Filter权限控制
13、Listener概述及分类
14、Listener监听在线用户

Ajax和JSON

1、Ajax异步请求和局部刷新的原理
2、使用原生Ajax验证用户唯一性
3、jQuery Ajax
4、JSON的格式和使用
5、主要JSON解析器
6、Jackson的使用
7、Jackson的实现原理
8、使用jQuery Ajax实现三级联动
9、使用jQuery Ajax实现自动补全

分页和文件上传/下载

1、分页的意义
2、理解分页工具类
3、实现基本分页
4、实现带查询的分页
5、文件上传原理
6、文件上传API
7、实现文件上传
8、文件下载原理
9、文件下载响应头
10、实现文件下载

第六部分 高级框架

Spring 5.2.2

1、Spring框架简介
2、Spring官方压缩包目录介绍
3、Spring环境搭建
4、IoC/DI容器详解
5、Spring创建Bean的三种方式
6、scope属性讲解
7、Spring中几种注入方式
8、静态代理设计模式
9、动态代理设计模式
10、AOP详解
11、AOP中几种通知类型
12、AOP两种实现方式
13、自动注入
14、声明式事务
15、事务传播行为
16、事务隔离级别
17、只读事务
18、事务回滚
19、基于注解式配置
20、常用注解
21、Spring 整合MyBatis
22、i18n
23、Spring整合Junit

SpringMVC 5.2.2

1、MVC架构模式
2、手写MVC框架
3、SpringMVC简介
4、SpringMVC运行原理
5、基于配置文件方式搭建环境
6、基于注解方式搭建环境
7、SpringMVC的跳转及视图解析器的配置
8、SpringMVC和Ajax的交互
9、Spring 参数注入
10、SpringMVC作用域传值
11、视图解析器
12、文件下载
13、文件上传
14、Spring拦截器/拦截器栈
15、登录状态验证
16、SpringMVC容器和Spring容器介绍
17、异常处理4种方式
18、SpringMVC5其他常用注解

RBAC

1、RBAC概述
2、RBAC发展历史
3、基于RBAC的数据库表设计
4、URL拦截实现
5、动态菜单实现
6、密码学

EasyUI 1.7.0

1、EasyUI简介
2、EasyUI常用组件
3、基于Panel完成登录页面
4、使用Layout完成总体布局
5、使用Tree完成树状菜单
6、使用Window完成弹出窗口
7、使用Messager完成消息提示
8、使用Datagrid完成数据展示

MyBatis Plus

1、Mybatis Plus简介
2、Spring整合MyBatis Plus
3、MyBatis Plus的全局策略配置
4、Mybatis的主键生成策略
5、Mybatis Plus的CRUD操作
6、条件构造器EntityWrapper讲解
7、Mybatis Plus的分页插件配置
8、Mybatis Plus的分页查询
9、Mybatis Plus的其他插件讲解
10、Mybatis Plus的代码生成器讲解
11、Mybatis Plus的公共字段自动填充

支付/短信验证

1、微信支付接入
2、支付宝支付接入
3、阿里云短信平台接入

第七部分 框架强化

Linux - CentOS 8

1、Linux简介
2、VMWare安装及使用
3、Linux安装及注意事项
4、Linux目录结构及路径
5、Linux常用命令
6、VMWare常用配置
7、XShell安装及使用
8、Xftp安装及使用
9、JDK解压版配置步骤
10、Tomcat配置步骤
11、安装MySQL
12、WAR包部署

Maven

1、Maven简介
2、Maven原理
3、Linux安装及注意事项
4、Maven项目结构
5、POM模型
6、Maven 中项目类型
7、创建WAR类型的Maven项目
8、scope属性可取值
9、SSM项目拆分演示
10、Maven的常见插件讲解
11、热部署

Logback

1、Logback简介
2、Logback依赖说明
3、Logback 配置文件讲解
4、Logback 控制台输出
5、Logback 文件输出
6、Logback 数据库输出

Quartz

1、Scheduled 讲解
2、CRON表达式
3、Quartz 简介
4、Quartz 核心类讲解
5、创建定时任务
6、修改定时任务
7、删除定时任务
8、查看定时任务
9、Quartz Trigger触发器
10、Quartz Job&JobDetail

Spring Boot 2.2.2

1、Spring Boot简介
2、Spring Boot实现Spring MVC
3、配置文件顺序及类型讲解
4、Spring Boot项目结构
5、Spring Boot 整合MyBatis
6、Spring Boot 整合Druid
7、Spring Boot 整合PageHelper
8、Spring Boot 整合logback
9、Spring Boot 整合JSP
10、Spring Boot 整合Thymeleaf
11、Spring Boot 开发者工具
12、Spring Boot 异常显示页面
13、Spring Boot 整合Junit4
14、Spring Boot 项目打包部署
15、Spring Boot 整合Quartz
16、Spring Boot 中Interceptor使用
17、Spring Boot Actuator
18、HikariCP

Quartz

1、Scheduled 讲解
2、CRON表达式
3、Quartz 简介
4、Quartz 核心类讲解
5、创建定时任务
6、修改定时任务
7、删除定时任务
8、查看定时任务
9、Quartz Trigger触发器
10、Quartz Job&JobDetail

Shiro

1、Shiro简介
2、Shiro架构原理
3、INI文件介绍
4、Shiro环境搭建及认证实现
5、第一个Shiro演示
6、授权
7、加密及凭证匹配器
8、自定义Realm
9、凭证匹配器
10、SpringBoot整合Shiro实现登录认证
11、Rememberme 实现
12、退出实现
13、Session Dao
14、Thymeleaf整合Shiro
15、使用注解判断方法是否具有权限执行
16、Shiro和EHCache整合
17、Session Manager

Swagger

1、Swagger2简介
2、Springfox
3、Swagger2基本用法
4、Swagger-UI用法
5、Swagger2配置
6、Swagger2常用配置

Git/GitEE

1、Git的下载和安装
2、Git和SVN对比
3、Git创建版本库
4、Git版本控制
5、Git远程仓库
6、Git分支管理
7、Git标签管理
8、GitEE建库
9、GitEE 连接及使用
10、GitEE 组员及管理员配置

第八部分 分布式架构

Zookeeper

1、Zookeeper简介和安装
2、Zookeeper 数据模型
3、Zookeeper 单机版安装
4、Zookeeper常见命令
5、ZClient操作Zookeeper
6、Zookeeper 集群版安装
7、Zookeeper 客户端常用命令
8、Zookeeper分布式锁

RPC

1、什么是分布式架构
2、什么是RFC、RPC
3、HttpClient实现RPC
4、RestTemplate
5、RMI实现RPC
6、基于Zookeeper实现RPC 远程过程调用

Dubbo

1、SOA架构介绍
2、Dubbo简介
3、Dubbo结构图
4、Dubbo注册中心
5、Dubbo 支持的协议
6、Dubbo 注册中心搭建
7、Spring Boot 整合 Dubbo
8、Admin管理界面
9、Dubbo 搭建高可用集群
10、Dubbo 负载均衡

Redis

1、Redis简介
2、Redis 单机版安装
3、Redis 数据类型介绍
4、Redis 常用命令
5、Redis 持久化方案
6、Redis 的主从搭建
7、Redis的哨兵搭建
8、Redis 的集群搭建
9、Spring Boot整合Spring Data Redis
10、Redis的缓存穿透
11、Redis的缓存雪崩
12、Redis的缓存击穿

Solr

1、Solr简介
2、Solr单机版搭建
3、Solr管理界面讲解
4、Solr 索引库配置
5、Solr 索引机制
6、Analyzer 配置业务字段
7、配置中文分词器
8、SolrCloud 搭建
9、Spring Data for Apache Solr操作SolrCloud
10、Solr 索引优化

RabbitMQ

1、AMQP简介
2、RabbitMQ简介
3、安装Erlang
4、安装RabbitMQ
5、RabbitMQ原理
6、Spring Boot 集成RabbitMQ
7、RabbitMQ的交换器
8、Spring AMQP的使用

FastDFS

1、分布式文件系统概述
2、FastDFS简介
3、FastDFS架构
4、Tracker Server
5、Storage Server
6、FastDFS安装
7、安装带有FastDFS模块的Nginx
8、Fastdfs-java-client的使用
9、创建Fastdfs-java-client工具类
10、实现文件上传与下载
11、KindEditor介绍
12、通过KindEditor实现文件上传并回显

Nginx

1、Nginx的简介
2、什么是正向代理、反向代理
3、Nginx的安装
4、Nginx配置虚拟主机
5、Nginx配置服务的反向代理
6、Nginx的负载均衡配置

Spring Security

1、Spring Security 简介
2、Spring Security 项目搭建
3、UserDetailsService详解
4、PasswordEncoder密码解析器详解
5、自定义登录逻辑
6、自定义登录页面
7、认证过程其他常用配置
8、访问控制url匹配
9、内置访问控制方法介绍
10、角色权限判断
11、自定义403处理方案
12、基于表达式的访问控制
13、基于注解的访问控制
14、Remember Me功能实现
15、Thymeleaf中Spring Security的使用
16、退出登录
17、Spring Security中CSRF

Spring Session

1、Spring Session介绍
2、通过Spring Session共享session中的数据
3、通过Spring Session同步自定义对象
4、Spring Session的Redis存储结构
5、设置Session失效时间
6、Spring Session序列化器

MyBatis Generator

1、MyBatis Generator介绍
2、generatorConfig.xml讲解
3、MyBatis Generator序列化配置
4、MyBatis Generator生成toString
(、
5、MyBatis Generator的数据库设置
6、MyBatis Generator包设置
7、MyBatis Generator的表设置
8、基于MyBatis Generator的数据查询
9、基于MyBatis Generator的数据添加
10、基于MyBatis Generator的数据更新
11、基于MyBatis Generator的数据删除

Mycat

1、MyCat简介
2、数据库切分方式
3、MyCat中基本概念
4、MySQL主从配置
5、MyCat切片规则
6、MyCat读写分离
7、MyCat实现分库分表
8、MyCat集群

第九部分 微服务架构

ElasticSearch

1、ElasticSearch介绍
2、ElasticSearch单机版安装
3、ElasticSearch集群版安装
4、ElasticSearch索引管理
5、ElasticSearch文档管理
6、ElasticSearch文档搜索
7、SpringDataElasticSearch访问ElasticSearch

MongoDB

1、MongoDB简介
2、MongoDB安装
3、MongoDB用户管理
4、MongoDB数据库管理
5、MongoDB集合管理
6、MongoDB文档管理
7、MongoDB文档聚合查询
8、SpringDataMongoDB访问MongoDB

Spring Cloud Netflix Eureka

1、Eureka简介
2、Eureka和Zookeeper 对比
3、搭建Eureka注册中心
4、Eureka 服务管理平台介绍
5、搭建高可用集群
6、集群原理
7、Eureka优雅停服

Spring Cloud Netflix Ribbon

1、Ribbon简介
2、集中式与进程内负载均衡区别
3、Ribbon常见的负载均衡策略
4、Ribbon的点对点直连

Spring Cloud OpenFeign

1、Feign简介
2、Feign的请求参数处理
3、Feign的性能优化
4、配置Feign负载均衡请求超时时间

Spring Cloud Netflix Hystrix

1、Hystrix简介
2、服务降级
3、服务熔断
4、请求缓存
5、Feign的雪崩处理
6、可视化的数据监控Hystrix-dashboard

Spring Cloud Config

1、什么是分布式配置中心
2、创建配置中心服务端
3、创建配置中心客户端
4、基于Gitee存储配置文件

Spring Cloud Gateway

1、Spring Cloud Gateway简介
2、Gateway基于配置文件实现路由功能
3、Gateway基于配置类实现路由功能
4、Gateway中内置过滤器的使用
5、Gateway中自定义GatewayFilter过滤器的使用
6、Gateway中自定义GlobalFilter过滤器的使用
7、Gateway中使用过滤器实现鉴权
8、Gateway结合Hystrix实现熔断功能

Docker

1、Docker简介
2、Docker与VM对比
3、Docker特点
4、Docker架构
5、Docker安装与启动
6、镜像加速器配置
7、Docker镜像操作常用命令
8、Docker容器操作常用命令
9、DockerFile
10、搭建本地镜像仓库
11、推送镜像到阿里云及本地仓库
12、Docker容器生命周期
13、Docker数据管理

K8S

1、K8S简介
2、K8S核心概念
3、K8S安装与配置
4、K8S集群搭建与部署
5、K8S的UI界面dashboard

LCN

1、分布式事务简介
2、分布式事务两大理论依据
3、分布式事务常见解决方案
4、LCN简介
5、TX-LCN的3种模式
6、LCN原理
7、LCN环境搭建及Demo演示