■■ 卷一: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)