admin管理员组

文章数量:1794759

Java之神:技能树(Skill Tree)

Java之神:技能树(Skill Tree)

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

                ● 面向接口编程的典范:JDBC, Spring

                ● 抽刀断水水更流:过滤器&拦截器&网关

                ● 形上形下(形气道理):接口规范(形而上之道)、抽象类(形而上之理)、普通类(形而下之气)、实例对象(形而下之形)

                ● 酸(ACID):事务四大特性

                ● 框架的灵魂:反射

                ● 自我感知:内省

                ● 一站式框架或容器:Spring

                ● 真水无香:解耦思想

                ● Java码农心中的Java时间简史:

                        【1】JavaSE阶段(混沌)

                         【2】JavaWeb阶段:

                                0 Servlet(盘古开天地),

                                1 类库阶段:远古(中小型应用系统)                                         1.1 Servlet-JSP-类库:JSP什么都干(旧石器时代)                                         1.2 Servlet+JSP+类库:JSP专职做好UI模板 (新石器时代)                                         * 类库:JSPDBUtils+BeanUtils+CommonsIO等阶段(石器世代)                                        番外:Servlet与JSP的职责分离与专业化,代表了一种趋势。

                         【3】JavaEE阶段(本质仍然是JavaWeb):

                                2 框架阶段I:中古和近古                                         # SSH为主,大型应用系统,分布式开发-重量级,成熟(但缺陷明显),偏稳定                                         2.0 框架出现(文明纪元):                                         2.1 EJB:(奴隶社会)【中古】                                         2.2 Web Service[SOA]阶段:CXF框架(封建社会)【近古】

                                3 框架阶段II:近、现代史,当代史                                         # SSM为主,超大型应用系统,分布式开发-轻量级,成熟,偏性能                                         # Maven,Gradle的流行、基于HTTP协议的RESTful开发风格的流行和SpringBoot的出现或诞生是重要的标志性事件,是JavaEE轻量化与敏捷化开发的发展历史中的里程碑事件。                                         3.1 分布式之RPC阶段:Dubbo框架(近代世)                                         3.2 微服务之HTTP&RESTful阶段:SpringCloud框架(现代史)                                         3.3 服务网格(当代史)

                ● 撒豆成兵:Java Bean

                ● 拈花一笑、天女散花: @ 之注解

                ● API三部曲:包 -> 构造器 -> 常用方法

                ● JavaWeb三件套(三大组件):Servlet + Filter + Listener

                ● 主流框架(SSH&SSM)之天地人三才:天(struts/springmvc)+人(Spring)+地(hibernate/mybatis)。容器思想:人道中庸,乃经天纬天之才

                ● 工商局:注册中心

                ● 一阳指:Servlet                        

 一阳指出自金庸多部武侠小说中,是大理段氏(修订版)的独门绝学,既可御敌,亦可疗伤救人。  一阳指是一门高深的指法,但使用时极耗精力,连续使用小则功力全失,大则性命不保。

一阳指以品境界,最高为第一品,第四品便是修炼大理最高武学「六脉神剑」的基础。

                ● 六脉神剑:                         Spring&SpringMVC&SpringBoot&SpringCloud&SpringData&SpringSecurity

                ● ...

        ■ 综合信

本文标签: 之神技能javaSkillTree