Java后端知识体系(完整版)
2021-07-28 22:54:08 0 举报
AI智能生成
登录查看完整内容
Java后端最全知识体系,包含推荐书籍
作者其他创作
大纲/内容
基础语法
面向对象
常用API
异常处理
集合
IO
多线程
网络编程
泛型
反射
注解
语言基础
《Java核心技术》
双亲委托
类加载机制
字节码执行机制
堆区
虚拟机栈
方法区
JVM内存模型
GC垃圾回收
JVM性能监控与故障定位
JVM调优
JVM
《深入理解Java虚拟机》
并发编程基础
线程池
乐观锁、悲观锁
互斥锁、共享锁
可重入锁、偏向锁
轻量级锁、CAS与自旋锁
锁
并发容器
原子类
JUC并发工具类
多线程、锁、并发
1:《Java并发编程的艺术》、2:《Java并发编程实战》
Socket API + 多线程 + 网络模型/IO模型 + IO复用
Netty
学习路径
进程间通信方式:信号量、管道、共享内存、socket 等
多线程编程:互斥锁、条件变量、读写锁、线程池等
五大 IO 模型:同步、异步、阻塞、非阻塞、信号驱动
高性能 IO 两种模式:Reactor 和 Proactor
IO 复用机制:epoll、select、poll(破解 C10K 问题的利器)
核心点
Java源码
Java语言
联表
聚合
手写SQL
SQL语句
SQL语句优化
事务、隔离级别
索引
数据库/SQL
1:《SQL必知必会》、2:《高性能MySQL》
字符串
数组
链表
栈
队列
二叉树
堆
哈希
数据结构
全部手写两遍以上、尤其是链表和二叉树的操作
十大排序
查找、二分
贪心
分治
动态规划
回溯
算法
Leetcode分类刷题,总结特点
数据结构与算法
《漫画算法》、《算法》
单例
工厂
代理
策略
模板方法
观察者
适配器
责任链
建造者
。。。。
设计模式
《重学Java设计模式》
HTTP、TCP、IP、ICMP、UDP、DNS、ARP
IP地址、MAC地址、OSI七层模型(或者 TCP/IP 五层模型)
HTTPS安全相关的:数字签名、数字证书、TLS
常见网络攻击:局域网ARP泛洪、DDoS、TCP SYN Flood、XSS等
三次握手、四次挥手
状态转换
TCP状态中TIME_WAIT
拥塞控制
快速重传、慢启动
TCP协议
TCP 如何实现可靠传输的(画外音:如何基于 UDP 实现可靠传输
TCP 连接建立为什么不是两次握手(画外音:三次握手的充分必要性说明
TIME_WAIT 的存在解决了什么问题,等待时间为什么是 2 MSL
问题
可靠传输 + 高效传输(流量控制和窗口管理)
核心
TCP协议(最重要)
从 URL 输入到页面展现到底发生什么
HTTP、HTTPS
计算机网络
《计算机网络:自顶向下方法》
进程管理
并发、同步互斥、锁
内存管理
文件系统
进程与线程管理
IO与文件系统
设备管理
OS四大模块的理论知识
虚拟文件系统
了解Linux内核部分实现原理
《Linux内核设计与实现》
内存
进程
与编程最密切
重点
操作系统由哪些构成
进程的状态、切换、调度
进程间通信方式(共享内存、管道、消息)
进程和线程的区别
线程的实现方式(一对一、多对一等)
互斥与同步(信号量、管程、锁)
死锁检测与避免
并发经典的问题:读者写者、哲学家就餐问题
为什么需要虚拟内存,MMU 具体如何做地址转换的
内存为什么分段、分页
页面置换算法
文件系统是如何组织的
虚拟文件系统(VFS)是如何抽象的
认知
操作系统
《现代操作系统》
基础重点(必须掌握)
JSP、Servlet
IOC
AOP
Spring
Spring MVC
MyBatis
微服务架构
内嵌Tomcat
打jar包
自动配置、开箱即用
整合Web
整合数据库(事务问题)
Shiro
SpringSecurity
整合权限
缓存
MQ
Dubbo
RPC框架
NIO框架
各种中间件
知识点
Spring Boot
服务治理组件,包括服务端的注册中心和客户端的服务发现机制
Eureka
负载均衡的服务调用组件,具有多种负载均衡调用策略
Ribbon
服务容错组件,实现了断路器模式,为依赖服务的出错和延迟提供了容错能力
Hystrix
基于Ribbon和Hystrix的声明式服务调用组件
Feign
API 网关服务,过滤、安全、监控、限流、路由
Zuul
Netflix
阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台
Nacos
面向分布式服务架构的轻量级流量控制产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性
Sentinel
一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务
RocketMQ
Apache Dubbo™ 是一款高性能 Java RPC 框架,用于实现服务通信
阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案
Seata
Alibaba
分布式配置中心。配置管理工具,支持使用 Git 存储配置内容,支持应用配置的外部化存储,支持客户端配置信息刷新、加解密配置内容等。
Config
事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。
Bus
服务注册和配置管理中心
Consul
安全工具包,对Zuul代理中的负载均衡OAuth2客户端及登录认证进行支持
Security
SpringCloud应用程序的分布式请求链路跟踪,支持使用Zipkin、HTrace和基于日志(例如ELK)的跟踪
Sleuth
轻量级事件驱动微服务框架,可以使用简单的声明式模型来发送及接收消息,主要实现为Apache Kafka及RabbitMQ
Stream
用于快速构建短暂、有限数据处理任务的微服务框架,用于向应用中添加功能性和非功能性的特性
Task
服务注册中心
Zookeeper
Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,Spring Cloud Gateway 旨在为微服务架构提供一种简单而有效的统一的 API 路由管理方式。Spring Cloud Gateway 作为 Spring Cloud 生态系中的网关,目标是替代 Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。
Gateway(可替代 Zuul)
OpenFeign 是 Spring Cloud 在 Feign 的基础上支持了 Spring MVC 的注解,如 @RequesMapping等等。OpenFeign 的 @FeignClient 可以解析 SpringMVC 的 @RequestMapping 注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。
OpenFeign(可替代 Feign)
Spring Cloud
总结
项目经验
Spring家族
Tomcat运行
打war包
SSM
5大数据类型
事务
消息通知
管道
持久化
集群
Redis
RabbitMQ
Kafka
消息
ElasticSearch
搜索
中间件
后端
HTML
CSS
JavaScript
三大件
jQuery
Ajax
基础库
基础套餐
JSP
Thymeleaf
FreeMaker
模板框架
Node
VUE
React
Angular
组件化框架
前端
应用框架
Eclipse
IDEA
VSCode
集成开发环境
Linux常用命令
基本Shell脚本
Linux系统
Git命令和使用
Git
SVN
代码管理工具
Maven
Gradle
项目管理/构建工具
开发工具
Nginx
Web服务器
Tomcat
应用服务器
Docker
管理运维容器
Kubernetes(K8S)
容器化技术
Jenkins
持续集成、持续发布
Sonar
代码质量检测
ELK
日志收集、分析
CDN加速
运维知识
Java后端知识体系
收藏
0 条评论
回复 删除
下一页