Java后端知识体系基础重点(必须扎实)
Java语⾔
语⾔基础《Java核⼼技术》
基础语法
⾯向对象
常⽤API
异常处理
集合
IO
多线程
⽹络编程
泛型
反射
注解
JVM 《深⼊理解Java虚拟机》
类加载机制
双亲委托
字节码执⾏机制
JVM内存模型
堆区
虚拟机栈
⽅法区
GC垃圾回收
JVM性能监控与故障定位
JVM调优
多线程、锁、并发 1:《Java并发编程的艺术》、2:《Java并发编程实战》并发编程基础
线程池
乐观锁、悲观锁
互斥锁、共享锁
可重⼊锁、偏向锁
轻量级锁、CAS与⾃旋锁
并发容器
原⼦类
微服务网关和注册中心区别JUC并发⼯具类
⽹络编程
学习路径
Socket API + 多线程 + ⽹络模型/IO模型 + IO复⽤
Netty
核⼼点
进程间通信⽅式:信号量、管道、共享内存、socket 等
多线程编程:互斥锁、条件变量、读写锁、线程池等
五⼤ IO 模型:同步、异步、阻塞、⾮阻塞、信号驱动
⾼性能 IO 两种模式:Reactor 和 Proactor
IO 复⽤机制:epoll、select、poll(破解 C10K 问题的利器)Java源码
数据库/SQL
《SQL必知必会》、《⾼性能MySQL》
SQL语句
⼿写SQL
联表
聚合
SQL语句优化
事务、隔离级别
索引
数据结构与算法
《漫画算法》、《算法》
数据结构
字符串
数组
链表
队列
⼆叉树
哈希
算法
⼗⼤排序
查、⼆分
贪⼼
分治
动态规划
回溯
设计模式
《重学Java设计模式》
单例
⼯⼚
代理
策略
模板⽅法
观察者
适配器
责任链
建造者
。。。。
计算机⽹络
《计算机⽹络:⾃顶向下⽅法》
HTTP、TCP、IP、ICMP、UDP、DNS、ARP
IP地址、MAC地址、OSI七层模型(或者 TCP/IP 五层模型)
HTTPS安全相关的:数字签名、数字证书、TLS
常见⽹络攻击:局域⽹ARP泛洪、DDoS、TCP SYN Flood、XSS等
TCP协议(最重要)
TCP协议
三次握⼿、四次挥⼿
状态转换
TCP状态中TIME_WAIT
拥塞控制
快速重传、慢启动
问题
TCP 如何实现可靠传输的(画外⾳:如何基于 UDP 实现可靠传输)
TCP 连接建⽴为什么不是两次握⼿(画外⾳:三次握⼿的充分必要性说明)
TIME_WAIT 的存在解决了什么问题,等待时间为什么是 2 MSL
核⼼
可靠传输 + ⾼效传输(流量控制和窗⼝管理)
HTTP、HTTPS
从 URL 输⼊到页⾯展现到底发⽣什么
学习⽅法
学习抓住⼀条主线
⼀个数据包是如何发送出去的
带着问题去思考为什么这么做
操作系统
《现代操作系统》
进程管理
并发、同步互斥、锁
内存管理
⽂件系统
重点
OS四⼤模块的理论知识
进程与线程管理
内存管理
IO与⽂件系统
设备管理
了解Linux内核部分实现原理
内存管理
进程管理
虚拟⽂件系统
与编程最密切
内存
进程
IO
认知
操作系统由哪些构成
进程的状态、切换、调度
进程间通信⽅式(共享内存、管道、消息)
进程和线程的区别
线程的实现⽅式(⼀对⼀、多对⼀等)
互斥与同步(信号量、管程、锁)
死锁检测与避免
并发经典的问题:读者写者、哲学家就餐问题
为什么需要虚拟内存,MMU 具体如何做地址转换的
内存为什么分段、分页
页⾯置换算法
⽂件系统是如何组织的
虚拟⽂件系统(VFS)是如何抽象的
。。。。
应⽤框架
后端
JSP、Servlet
Spring家族
Spring
IOC
AOP
Spring MVC
MyBatis
SSM
打war包
Tomcat运⾏
Spring Boot
打jar包
内嵌Tomcat
微服务架构
知识点
⾃动配置、开箱即⽤
整合Web
整合数据库(事务问题)
整合权限
Shiro
SpringSecurity
各种中间件
缓存
MQ
RPC框架
Dubbo
NIO框架
Netty
Spring Cloud
Netflix
Eureka
服务治理组件,包括服务端的注册中⼼和客户端的服务发现机制。
Ribbon
负载均衡的服务调⽤组件,具有多种负载均衡调⽤策略。
Hystrix
服务容错组件,实现了断路器模式,为依赖服务的出错和延迟提供了容错能⼒。
Feign
基于Ribbon和Hystrix的声明式服务调⽤组件。
Zuul
API ⽹关服务,过滤、安全、监控、限流、路由。
Alibaba
Nacos
阿⾥巴巴开源产品,⼀个更易于构建云原⽣应⽤的动态服务发现、配置管理和服务管理平台。
Sentinel
⾯向分布式服务架构的轻量级流量控制产品,把流量作为切⼊点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
RocketMQ
⼀款开源的分布式消息系统,基于⾼可⽤分布式集技术,提供低延时的、⾼可靠的消息发布与订阅服务。
Dubbo
Apache Dubbo 是⼀款⾼性能 Java RPC 框架,⽤于实现服务通信。
Seata
阿⾥巴巴开源产品,⼀个易于使⽤的⾼性能微服务分布式事务解决⽅案。
Config
分布式配置中⼼。配置管理⼯具,⽀持使⽤ Git 存储配置内容,⽀持应⽤配置的外部化存储,⽀持客户端配置信息刷新、加解密配置内容等。
Bus
事件、消息总线,⽤于在集(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。
Consul
服务注册和配置管理中⼼。
Security
安全⼯具包,对Zuul代理中的负载均衡OAuth2客户端及登录认证进⾏⽀持。
Sleuth
SpringCloud应⽤程序的分布式请求链路跟踪,⽀持使⽤Zipkin、HTrace和基于⽇志(例如ELK)的跟踪。Stream
轻量级事件驱动微服务框架,可以使⽤简单的声明式模型来发送及接收消息,主要实现为Apache Kafka及
RabbitMQ。
Task
⽤于快速构建短暂、有限数据处理任务的微服务框架,⽤于向应⽤中添加功能性和⾮功能性的特性。
Zookeeper
服务注册中⼼。
Gateway(可替代 Zuul)
Spring Cloud Gateway 是 Spring 官⽅基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的⽹
关,Spring Cloud Gateway 旨在为微服务架构提供⼀种简单⽽有效的统⼀的 API 路由管理⽅式。Spring Cloud

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。