# 初级 Java 工程师
Java 是一门发展成熟的语言,当接触时,不要想着吃透,这不可能,先知道,在慢慢去理解。
# 倔强青铜
# 阶段一:环境搭建与语法入门
- Java 基础概念
- Windows 和 Mac 开发环境搭建
- 数据类型、变量和常量
- Java 中年多运算符的应用
- 选择结构的执行流程及应用
# 阶段二:Java 语法之循环、数组与方法
- 基础语法实例 - 数组移位与统计
- while、do-while 和 for 三种循环结构的使用
- 嵌套循环的应用
- break 和 continue 语句的特点及应用
- 如何进行程序提示,debug 的使用
- 一维数组和二维数组的应用
- Java 自定义方法与方法调用
- 实例:学生成绩管理
# 阶段三:面向对象之封装与继承
- 封装综合实例 - 学生信息管理
- 构造方法的概念及应用
- 封装的特点,应用代码实现程序的封装
- 包的创建和导入
- 静态变量和静态方法的应用
- 实例 - 部门员工管理
- 继承的概念和特点,父类与子类的概念及应用
- 方法重写的特点及使用
- 通过 super 关键字对父类方法进行调用
# 阶段四:面向对象之单例模式与多态
- 所有类的父类 Object 类的使用
- 使用 final 关键字定义最终类
- 现阶段开发中涉及到的常用注释的使用
- 单例模式的定义和使用
- 懒汉模式和饿汉模式的特点及代码实现
- 向上转型和向下转型的概念及应用
- 接口和抽象类的定义和使用
- 成员内部类、静态内部类、方法内部类和匿名内部类
- 大作业 - 使用多态完成马戏团动物表演
# 阶段五:常用工具类(上)
- 使用 try-catch-finally 处理异常
- throw 和 throws 的区别,自定义异常和异常链
- 包装类的基本使用,理解装箱和拆箱的概念
- 字符串处理类 String 和 StringBuffer 的基本使用和应用场景
- 集合 List、Set、HashMap 及实现类的特点和应用
# 阶段六:常用工具类(下)
- 阶段综合案例 - 播放器管理
- 使用 Comparator 和 Comparable 两个接口对集合进行排序
- 泛型的使用,包括泛型作为方法参数、自定义泛型类和泛型方法
- 线程的创建,理解线程的生命周期
- 线程同步的使用和如何进行线程间的通信
- 使用字节流和字符流进行数据传输
- 应用序列化和反序列化对象进行读写
- 大作业 - 学生管理系统
# 秩序白银
从网页搭建入门 Java Web
# 阶段一:前端基础之 HTML 和 CSS
- HTML 的基本结构和字体、标题、图片等常用的标签使用
- 表格和表单标签使用,二者嵌套使用进行简单布局管理
- css 的基本使用和常用样式
- css 伪类和伪元素的区别和应用
- css 的各种选择器及其应用
- 浮动和定位的使用
- 使用盒子模型进行页面布局管理
# 阶段二 前端基础之 JavaScript 与综合案例
- 前端综合案例 - 企业门户网站首页开发
- JavaScript 变量、运算符、程序
- JavaScript 常用函数和自定义函数
- JavaScript 数组的基本用法
- 使用 Javascript 对表单元素进行操作
- 使用 Javascript 开发简单的计算器
- 大作业 - 校园网首页开发
# 阶段三 Java Web 基础
- XML 文件的结构和约束
- 对 XML 文件进行读写操作
- 掌握 Web 项目开发流程,进行项目开发和运行
- JSP 九大内置对象的使用
- 重定向和转发的区别与应用
- session 和 cookie 的区别和使用
- 使用 JSTL 和 EL 表达式对集合进行展示
- 大作业 - 商品信息管理
# 阶段三 常用功能与过滤器
- JSON 基础语法和 FastJSON 的应用
- jQuery 的常用语法及应用
- 正则表达式基本语法,完成常见数据验证
- 过滤器的生命周期和开发流程
- 使用过滤器解决中文乱码问题
- 过滤器链的概念和使用
- 使用过滤器完成多端设备自动适配的功能开发
# 阶段四 监听器与项目实战
- 阶段综合案例 - Java Web 实现企业门户网站的前后台开发
- 监听器的概念和应用场景
- 使用过滤器完成请求流量分析统计和静态数据预加载功能开发
- 使用 ECharts 完成动态图表开发
- FreeMarker 模板引擎的基本语法和开发步骤,以及 Serlet 进行整合开发
- MVC 设计模式的特点和使用
- 项目结构的分层设计
- 大作业 - MVC 模式完成图书馆管理系统
# 荣耀黄金 Java 数据库开发与实战
# 阶段一 MySQL 基础
- 根据数据库规范设计数据库
- 数据库发创建、表的创建和修改等操作
- 数据表的增删改查等基本操作
- 数据库的数字、日期时间、字符等常用函数使用
- 事务的 ACID 属性和隔离级别
- SQL 文件的导入和导出
# 阶段二 Java 数据库开发的基础
- IntelliJ IDEA 开发工具的使用
- 使用 JDBC 实现数据的增删改查
- 使用 PreparedStatment 对数据进行预处理,防止 SQL 注入漏洞
- 数据库连接池 Druid 和 C3PO 的使用
- 使用 Apache 的数据库工具类 DBUtils 简化代码开发
- 大作业 - 新闻管理系统
# 阶段三 框架前置知识
- Maven 的常用命令
- 在 IntelliJ 和 IDEA 两种开发环境下创建 Maven 项目
- 工厂模式中简单工厂和工厂方法的特点及应用
- 反射的基本概念和四大反射类 Class、Field、Method、Constructor 的使用
- Lambda 表达式的基本语法
- Lambda 表达式的静态方法、实例方法、对象方法和构造方法的引用
- Stream API 的创建、中间操作和终止操作
# 阶段四 MyBatis 基础
- MyBatis 开发的基本流程
- MyBatis 参数传递
- MyBatis 多表关联查询
- 使用 logback 进行日志管理
- 使用动态 SQL 语句进行复杂的逻辑开发
- MyBatis 一级缓存与二级缓存的概念和应用
- MyBatis 对象关联查询
- 使用 PageHelper 插件进行数据分页
- 使用 MyBatis 进行数据的批量插入和删除
- MyBatis 常用注解
# 阶段五 MyBatis 实现 OA 系统项目实战
- 需求分析到数据库的设计到建表的过程
- 手把手搭建底层开发框架
- 基于工作流程开发一个完整的员工请假和审批应用
- 使用 RBAC 权限模型完成基于角色的权限控制
- 使用动态 SQL 确定不同角色访问的数据范围
- 使用 LayUI 框架实现后台页面的开发
- 使用 MD5 加密算法保证数据的安全性
- 完成大作业
# 阶段六 Linx 环境搭建和 Redis 应用
- CentOS 7 系统、及客户端工具 Xshell 和 XFtp 的下载和安装
- Linux 系统目录结构和常用命令
- 文本编辑工具 vim
- 使用 tar 命令进行文件压缩和解压缩
- 使用 Bash Shell 开发自动运维程序
- 使用 yum 进行软件安装卸载
- Linux 网络配置
- Linux 下安装、部署并运行 Web 应用
- Redis 下载安装、基本配置和常用命令
- 使用 Jedis 对 Redis 进行操作
# 尊贵铂金 从 SSM 到 SpringBoot 项目实战
Spring 框架中的控制反转 IoC、依赖注入 DI 和面向切面编程 AOP。
# 阶段一 Spring 基础
- Spring IoC、DI 和 AOP 等核心概念
- Spring 实例化和管理 Bean 的方式
- Spring 注解分类和常用注解应用
- Spring AOP 开发与配置流程
- Spring 五种通知类型与应用场景
- PointCut 切入点表达式的语法规则及应用
- JDK 动态代理和 CGLib 代理的执行过程及区别
- JdbcTemplate 的使用步骤与增删改查实现
- 声明式事务与编程式事务的区别及开发流程
- 理解声明式事务七种事务传播行为
- 导入交易流水账单案例
# 阶段二 Spring MVC 基础
- SpringMVC 开发流程与环境配置
- SpringMVC 数据绑定的实现
- 使用 RESTful 开发规范开发 api
- 使用 SpringMVC 解决跨域问题
- SpringMVC 拦截器的基本使用
- 使用 SpringMVC 拦截器开发用户流量统计功能
# 阶段三 SSM 开发社交网站
仿豆瓣
- 项目需求分析,用例设计,流程图绘制和数据库设计
- 使用 MyBatis-plus 敏捷开发插件实现数据的增删改查操作
- 使用 Ajax+腾讯 ArtTemplate 模板进行热门图书查询
- 基于 MyBatis 实现分页查询,并实现上拉"加载更多"功能
- 采用 Redis 对访问的图书内容进行缓存
- 用户评论、回复和点赞功能实现
- 应用阿里云短信验证实现注册登录
- 使用 web 富文本编辑器进行在线编辑
- 实现评价/回复的后台审核功能
- 大作业 - 医院科室管理
# 阶段四 SpringBoot 电商项目实战
- 采用前后端分离模式进行开发,覆盖企业开发需求分析、设计、编码、测试和上线全流程
- 实现用户管理、商品分类管理、商品信息管理、购物车、订单管理等电商核心功能
- 数据库设计与实现
- 应用 RESTful 进行接口设计,并使用 Postman 进行接口测试
- 应用 MyBatis generator 代码自动生成插件,提升开发效率
- 使用阿里云完成项目的线上部署
- 使用 Swagger2 构建强大的 API 文档
- 使用 Log4j 2 进行日志管理
- 使用 Redis 对商品分类信息进行缓存
- 使用 JSR-303 实现请求参数校验
# 阶段五 面试
- 常见面试题
- 面向对象的特点、类的执行顺序、Java 异常体系
- String 与字符串常量池,string 与 stringBuffer 区别
- List 与 Set 集合的区别,TreeSet 排序,hashCode 与 equals 的区别与联系
- 实现多线程的三种方式,线程同步,死锁的产生
- 垃圾回收赫尔 JVM 内存
- Servlet 执行流程和生命周期
- 请求与响应结构、重定向与转发的区别
- Spring 的核心概念
- MyBatis 的缓存机制
# 永恒钻石 Java 分布式与微服务实战
# 阶段一 多线程与分发式
- 线程池的基本使用和状态
- ThreadLocal 的基本使用、原理和注意事项
- 分布式核心概念
- docker 的下载、安装和基本命令
- 独立制作 docker 容器
- nginx 的安装、基本使用和常用命令
- 使用 Nginx 搭建文件服务
- 消息队列 RabbitMQ 的核心概念 queue、message 和 exchange
- RabbitMQ 的四种交换机模式
- SpringBoot 整合 RebbitMQ 案例
# 阶段二 SpringCloud 基础
微服务
- 微服务的基本概念、设计与拆分原则
- 微服务和 Spring Cloud 的关系
- 微服务常见的组件和功能
- 课程查询案例基本介绍、系统架构设计和接口设计
- 分模块构建 SpringCloud 项目
- 完成课程列表、课程价格等服务开发
- 课程服务整合,利用服务注册于发现机制,完成课程查询基本功能
- 整合 Feign 实现服务间调用
- 网关的集成与开发,并接入服务
- 引用服务的熔断与降级,并进行实操演练
# 阶段三 SpringCloud 电商实战
对 SpringBoot 电商项目重构
- 服务拆分过程分析与总结
- 完成用户、商品、购物车和订单等服务开发
- 通用 common 模块的拆分和应用
- EurekaServer 注册中心开发,用 Feign 完成服务之间的调用
- 分享 Session 处理方案
- 统一网关的集成和开发
- 大作业 - 在项目基础上到手完成广告系统模块开发
# 阶段四 Zookeeper + Dubbo 应用与面试
Dubbo 和 Zookeeper 的应用介绍,他们与 SpringCloud 的异同。
- Zookeeper 的下载、配置与运行
- 数据结构 node 与常用命令
- Watcher 机制和权限 acl 介绍
- 使用 Zookeeper 的 Java 原生客户端和 Curator 进行开发
- RPC 调用,在 Dubbo 架构下各服务的关系
- 整合 Dubbo 和 Zookeeper
- 完成 Dubbo 开发案例
- 单例模式的多种写法和对比
- 如何选型 Dubbo 和 Springcloud
- 阐述 SpringCloud 好像组件