bilibili 韩顺平Java后端学习路线

Java后端学习路线

Java后端技术阶段概括

java后端技术路线是一个相对完整的学习路线,所以大家不用把所有的都学完再去找工作,不用这样子,其实你只要学到第四个,第五个阶段,再做一些项目,再刷一些题,其实就可以开始准备找工作了

第一部分: Java基础

变量、

控制结构

顺序

分支

循环

OOP

封装

继承

多态

数组

Java API

异常和处理

集合

泛型

IO

反射

网络通信

第二部分: Java高级

多线程/高并发(面试)

并发基础

互斥同步、非阻塞、指令重排、synchronized、volatile

线程

自旋锁、偏向锁、可重入锁

线程池、并发容器
JUC(Java提供的并发工具)

executor

collections

locks

atomic(原子类)

tools(CountDownLatch,Exchanger,ThreadLocal,CyclicBarrier)

数据结构和算法

数据结构(八种常见的)

数组(稀疏数组)、队列、栈、链表、树、散列、堆、图

算法(常见的)

排序、查找、分治、动态规划(最经典的:背包问题)、回溯(骑士周游问题)、贪心算法、KMP、Prim、Kruskal、最短路径(floyd、迪杰斯特拉)

设计模式(常用的八种)

单例模式、观察者模式、工厂模式、适配器模式、装饰者模式、代理模式、模板模式、职责链模式、其他(组合模式、桥接模式、原型模式)

Jvm

JM体系、类加载过程/机制、双亲委派机制/沙箱安全机制、JMM(Java内存模式)、字节码执行的过程/机制、GC(垃圾回收算法)、JVM性能监控算法和故障定位、JVM调优

第三部分: JavaWEB

前端基础

Html、Css、JavaScript、Ajax、Jquery

前端框架(做后台可以对此部分弱化)

Vue、React、Angular、Bootstrap、Node.js

Java Web后端

Tomcat、Servlet、JSP

第四部分: 主流框架和项目管理

Linux(必学,必会)
Nginx(做反向代理)
SSM

Spring(轻量级的容器框架)

SpringMVC(分层的Web框架)

MyBatis(持久化框架)

项目管理

Maven

Git&GitHub

SVN

数据库

Redis

MySql

Oracle

其他框架

WebService(面向服务编程的框架,简称SOA)

Activity(工作流框架/引擎)

Shiro(安全框架)

Spring Security(安全框架)

JPA(持久化)

SpringData(持久层的通用解决方案)

第五部分: 分布式 微服务 并行架构

Netty

Dubbo(RPC框架)

FastDFS(分布式的文件系统)

Docker(应用容器引擎)

Spring家族

SpringBoot
SpringCloud
Nacos(阿里巴巴开发的、支持服务发现、配置管理的组件)
Seata(阿里巴巴开发的、分布式事务的中间件)
Sentinel(阿里巴巴开发的、流量控制、熔断、系统负载保护)
GateWay(网关、限流、日志、监考、鉴权)
OpenFeign(服务间调用)

搜索引擎

ELasticSearch

Solr

中间件

MyCat

数据库中间件、分库分表

消息中间件

ActiveMQ

RabbitMQ

KafKa

日志分析与监控(ELK)

ElasticSearch(搜集、存储数据)

LogStash(分析日志)

Kibana(可视化)

Zookeepr(一致性服务:比如配置维护、域名维护、分布式同步)

第六部分 : DevOps(开发运维一体化,解决CI/CD)

K8s

让部署容器化的应用简单高效

普罗米修斯(Prometheus)

系统监控和报警

Jenkins

监控持续的工作(部署、继承、交付)

Harbor(容器的镜像仓库)

GitLab(代码托管、管理)

SonarQube(项目工程代码质量检测)

第七部分 : 大数据(可以弱化)

Hadoop

Hive

Impals

spark

flink

第八部分: 项目

至少做三个以上的项目:

电商、金融、教育、直播、CRM/ARP

第九部分: 大厂的高频面试题

第十部分: 底层源码/内核研究

编程基础拓展

计算机网络

操作系统

编译原理

离散数学

数值分析

计算机组成原理

汇编语言

你可能感兴趣的:(java,学习,面试)