■■ 卷一:Java - 工程师修炼
■□ Stage01:JavaSE
■ 零、Java预热
● 计算机发展历史
● 编程语言概况与分类
● DOS常用命令
● 学习方法与学习笔记及笔记工具
● JDK/JRE安装与配置
● 第一个Java程序:HelloWorld
■ 一、Java基础
● 变量、字面量等
● 变量类型&类型转换
● 运算符&优先级
● 流程控制
● 方法
● 数组
■ 二、Java核心
● OOP
● 包
● 异常处理
● 集合框架
● 常用API
■ 三、Java高级
● GUI
● 文件IO
● 多线程
● 网络编程
● Java8新特性
● XML&DOM4J
■□ Stage02:MySQL + JDBC
■ MySQL
● MySQL
● MySQL客户端
■ JDBC
● JDBC
● JDBC封装
● 数据库连接池
● DBUtils
● 事务
● JNDI
■□ Stage03:Web前端
■ HTML
■ CSS
■ JavaScript & AJAX
■ jQuery
■ Bootstrap
■□ Stage04:JavaWeb
■ HTTP协议
■ Web服务器:Tomcat
■ JavaWeb
● Servlet
● JSP
● EL + JSTL
● Filter
● Listener
■ 阶段项目Skills
■ 补充
■□ Stage05:Linux基础 + Java基础加强
■ Linux基础
● Linux入门基础
● Bash特性
● 用户管理
● 权限管理
● 文件目录管理
● 文本处理
● 文本编辑:vim/vi
● 文件查找
● 磁盘管理
● 解压缩与归档
● 包管理
● 进程管理
● 网络管理
● 启动管理
● Shell编程
● SELinux
■ Java基础加强
● JavaSE高阶知识点
◆ 枚举
◆ 注解
◆ 反射
◆ 序列化与反序列化
◆ 字节码
● 几个第三方常用类库
◆ 单元测试:JUnit
◆ 日志系统:Log4j
◆ Bean处理:Lombok
● 几个常用设计模式
◆ 单例模式
◆ 工厂模式
◆ 门面模式
◆ 代理模式
◆ 观察者模式
● JVM双亲委托模式
● 文本处理与正则表达式
■□ Stage06:主流框架阶段
■ 数据库
● RDB:Oracle
● NoSQL:Redis
■ 软件工程
● 项目构建:Maven
● 版本控制:SVN
■ 主流框架
● Hibernate
● Struts2
● Spring
● MyBatis
● SpringMVC
■□ Stage07:项目实战技能
■ 数据建模:PowerDesigner
■ 安全框架:Shiro
■ 邮件发送:JMail
■ 远程调用:HttpClient
■ 报表处理:POI
■ 定时任务:Quartz
■ Web Services:CXF
■ 数据缓存:Redis
■ 消息队列:ActiveMQ
■ 发送短信:阿里短信
■□ Stage08:微服务
■ SpringBoot(脚手架)
■ Spring Cloud(微服务套件,HTTP方式)
● 服务注册:Eureka(呀找到了)
● 负载均衡:Ribbon(飘带)
● 服务容错:Hystrix(豪猪)
● 服务调用:Feign(伪装)
● 服务网关:Zuul(祖鲁)
■ Spring Cloud Alibaba(微服务套件,HTTP方式)
▲ Nacos(服务注册与配置中心)
● OpenFeign(远程调用)
▲ Sentinel(限流降级熔断)
● Gateway(网关路由)
▲ Seata(分布式事务)
● Sleuth(链路追踪)
■ Dubbo + Zookeeper(微服务套件,RPC方式)
■□ Stage09:微服务项目技能
■ 前端高阶
● JS高阶
● CSS语法糖:LESS
● 模块化开发
● ES6
● Vue.js框架
● Vue框架UI库:Element-UI(饿了吗)
● 项目构建:WebPack
● 语法检测:ESLint
● 数据模拟:Mock.js
■ Java后端
● 负载均衡:Nginx
● 远程调用:HttpOk3
● 跨域解决:CORS
● 全文检索:ELK = ElasticSearch + Kibana + Logstash
● 安全框架:Spring Security + JWT + OAuth2
● 报表处理:EasyExcel
● 图片存储:FastDFS
● 定时任务:Spring Task
● 消息队列:RabbitMQ
● 媒体管理:阿里VOD
● NoSQL:MongoDB
● 缓存:Redis
● 短信发送:阿里短信
● 在线支付:微信支付
● 内网穿透:花生壳
■■ 卷二:Java - 构架师修炼
■□ 内功心法
■ 设计模式
● 设计原则
● 设计模式:GoF23
■ 数据结构与算法
● 数据结构
● 算法
■ 多线程与并发编程
● 多线程
◆ 多线程基础知识
◆ 线程池
◆ 并发理论知识
◆ 并发工具
◆ 模式
◆ 应用
◆ 面试相关
● JUC
● Netty
● Vert.X
● 响应式
■ 调优
● JVM调优
◆ 参数
◆ CLI指令
◆ GUI工具
◆ GC算法
● Tomcat调优
● MySQL调优
● 代码调优
■ 编程规范
● 阿里Java编程规范
■ 源码阅读与分析
● Spring
● MyBatis
● SpringMVC
● SpringBoot
■ Java新特性
● Java5
● Java6
● Java7
● Java8
● Java9
● Java11
● ...
■□ 架构设计(理论)
■ 架构概述
■ 架构思想
■ 架构原则
■ 架构模式
■ 架构实践:略
■□ 技术选型
■ 篇一:数据库
● RDBMS
◆ MySQL
◆ Oracle
◆ SQL Server
◆ DB2
◆ PostgreSQL
◆ SQLite
● NoSQL
◆ Redis
◆ Memcaced
◆ MongoDB
◆ SSDB
■ 篇二:中间件
● Web容器
◆ Tomcat
◆ Jetty
◆ Nginxt/Tengine/OpenResty
◆ WebLogic
◆ WebSphere
● 全文检索
◆ Solr
◆ ElasticSearch
● 消息队列
◆ ActiveMQ
◆ RabbitMQ
◆ RocketMQ
◆ ZeroMQ
◆ Kafka
◆ ...
● 缓存
◆ Redis
◆ Memcached
● 分布式文件系统
◆ FastDFS
◆ MooseFS
◆ GlusterMS
◆ GridFS
◆ CephFS
◆ HDFS
◆ ...
● 数据库中间件
◆ MyCAT
◆ Sharding-JDBC
■ 篇三:其它技术选型
● 安全框架
◆ Shiro
◆ Spring Security
● 定时任务
◆ Quartz
◆ Spring Task
◆ xxx-job
● 报表技术
◆ POI
◆ EasyExcel
◆ JasperReport & IReport
● 统计图表
◆ ECharts
◆ ..
● 单元测试/自动化测试/集成测试
◆ JUnit5
◆ Mockito/Mock
◆ PowerMock/Mock
◆ TestNG
◆ Selenium
◆ Robot Framework
◆ Cucumber
◆ ...
● 压力测试/基准测试/性能测试
◆ JMeter
◆ AB
◆ ...
■□ 专题研究
■ 分布式专题
● 分布式应用
● 分布式系统
● 分布式缓存
◆ 分布式缓存失效 - 缓存穿透:请求一个永远不存在的key
- 解决方案:返回并缓存null值
◆ 分布式缓存失效 - 缓存雪崩:大面积key同时失效
- 解决方案:(失效时间)加随机值
◆ 分布式缓存失效 - 缓存击透:高并发击穿热点key
- 解决方案:加(分布式)锁
● 分布式锁
◆ 基础数据库
◆ 基于Redis
- 分布式锁框架:Redission
◆ 基于Zookeeper
● 分布式事务
◆ 理论
- CAP定理:艾瑞克·布鲁斯定理 #三缺一
+ C:一致性 # 指数据一致性
+ A:可用性 # 指应用可用
+ P: 分区容错性 # 指网络分区
- BASE定理:坐一(P)望三(+C+A),鱼(C)和熊掌(A)不可兼得
◆ 实现方案
◆ 相关算法
◆ Seata
● 分布式文件系统
◆ FastDFS
◆ GlusterFS
◆ GridFS
◆ Ceph
◆ HDFS
● 分布式数据库
◆ TiDB
◆ OceanBase
● 分布式存储 - 商业服务
◆ 阿里OSS(对象存储服务)
◆ 七牛云存储
● 分布式计算
◆ 分布式计算概述
◆ 典型应用场景
◆ ...
■ 微服务专题
■ 多级缓存专题
■ 高性能
■ 高并发&高可靠
■ 数据采集与监控
■ 安全编程
■ 服务网格(Service Mesh)
■□ DevOps修炼
■ 项目构建
■ 代码托管
■ CICD
■ 质量保证
■ 容器化部署
■□ 软件工程
■ 项目管理:目标管理,计划管理,团队管理,工具管理,信息管理,风险管理等
■ 开发方式:精益敏捷开发(Scrum, XP等),传统瀑布模型等
■ 应用原型:
■ 数据建模:
■ 开发工具:
■ 版本控制:
■ API 网关
■ 负载均衡
■ 任务调度:
■ 监控系统:
■ 项目构建:
■ 软件测试:
■ 部署上线:
■ 日常运维:
■ 客服系统:
■
■□ 工具链簇
■ 前端工具
■ Java后端开发工具
■□ 项目管理
■ 团队管理:人员的组织与管理(团队建设,工作纪律,任务分配,激励机制等)
■ 质量管理:软件质量保证,软件度量,软件过程与能力评估等
■ 时间管理:工作时间安排,任务进度管控,团队运作协同,时间管理方法与工具等
■ 计划管理:软件项目计划,总体目标,目标拆解,任务细分,进度计划,后备方案等
■ 信息管理:信息沟通,信息保密,数据库管理,配置管理,文档管理,经验分享等
■ 资金管理:专款管理(如设备采购),资金池管理,现金管理,风险后备金等
■ 资产管理:设备资产,软件资产,信息数据资产等
■ 风险管理:天灾人祸,资金不足,人员流失,功能缺失,技术漏洞,进度违约,法律禁忌等
■ 配置管理:
■ 文档管理:
■
■□ Miscellaneous
■■ 卷三:Java底层加固
■□ 科目1:IT科技英语
■□ 科目2:高等数学
■□ 科目3:计算机原理
■□ 科目4:汇编
■□ 科目5:C语言
■□ 科目6:反编译
■□ 科目7:网络工程
■□ 科目8:软件工程
■■ 卷四:Java周边扩展
■□ 测试
■□ Linux运维
● 系统篇
● 服务篇
◆ DNS
◆ DHCP
◆ (L)AMP
◆ FTP
◆ NFS
◆ Samba
◆ Syslogd
◆ Xinetd
◆ OpenSSL/HTTPS
◆ Firewalld
◆ NTP
◆ ...
● 集群篇
◆ Nginx
◆ Keepalived
◆ Varnish
◆ ...
● 自动化篇
● DevOps篇
■□ 网络安全
■□ 大数据
● Hadoop
● Zookeeper
● Flume
● Hive
● Hbase
● Kafka
● Scala
○ Storm
● Spark
● Kylin
■□ 人工智能
■□ 区块链
■□ 其它语言
● JavaScript & Node.js
● PHP
○ Ruby
● Python
● GoLang
● C / C++
● C#
○ Object-C
● Swift
● Lua
● Groovy
● Rust
■■ 卷五:Java项目研究
■□ 传统项目
● ERP
● OA
● CRM
● BOM
● HRM
● 其它
■□ 现代Web项目
● 综合门户类
● 电子商务类
● 在线教育类
● 信息服务类
● 社交网络类
● 金融服务类
● 企业建站类
● 机构事业类
● 中介服务类
■■ 卷六:Java云水禅心
■ 面试心经
■ 团队管理
■ 书籍推荐
■ 心法禅意
● 屠龙刀:IDEA
● 三十六路打狗棍法:快捷键
● 降龙十八掌:GoF23
● 抽刀断水水更流:过滤器&拦截器&网关
● 形上形下(形气道理):接口规范(形而上之道)、抽象类(形而上之理)、普通类(形而下之气)、实例对象(形而下之形)
● 酸(ACID):事务四大特性
● ...
■ 综合信息
更多推荐
Java之神:技能树(Skill Tree)
发布评论