java体系技术梳理
1. java 基础
1.1 java 语言基础
1.1.1 基础语法与面向对象
1.1.1.1 重载与重写的区别
1.1.1.2 == 和 equals
1.1.1.3 String, StringBuilder,StringBuffer
1.1.1.4 Java 中的异常
1.1.2 集合类
1.1.2.1 java 的数据结构
1.1.2.2 java 的集合类
1.1.2.3 HashMap 的原理
1.1.3 Lambda 表达式
1.1.4 反射以及泛型
1.1.4.1 反射
1.1.4.2 泛型
1.1.5 网络编程
1.1.5.1 BIO, NIO, AIO
1.1.6 IO 流
1.1.6.1 IO 流
1.1.7 数据结构与算法
1.1.7.1 排序算法
1.1.7.2 字符串类
1.1.7.3 搜索
1.2 并行相关
1.2.1 原理
1.2.1.1 ThreadLocal 的原理
1.2.1.2 解释悲观锁与乐观锁
1.2.1.3 synchronized 原理
1.2.1.4 synchronized 锁升级
1.2.1.5 对比 synchronized 和 volatile
1.2.1.6 对比 synchronized 和 lock
1.2.2 线程池
1.2.2.1 线程池的核心参数
- 七个参数
- 核心线程数
- 最大线程数
- 存活时间
- 存活时间单位
- 工作队列
- 线程工厂
- 拒绝策略
- AbortPolicy
- CallerRunsPolicy
- DiscardOldestPolicy
- DiscardPolicy
3. JVM 虚拟机
3.1 堆内存结构
3.2 垃圾回收算法
2. spring 生态
spring
IoC 和 DI
Spring bean
Spring 中的容器是线程安全的吗
作用域
bean 生命周期
bean 的循环依赖问题
AOP
AoP 底层实现
JDK 动态代理与 CgLib 动态代理
Spring 事务
事务失效
事务的传播行为
Spring MVC
核心组件
- DispatchServlet
- HandlerMapping
- HandlerAdapter
- Handler
- ViewResolver
请求执行流程是什么样
拦截器
Interceptor 与 Filter
如何处理异常
常用注解
spring boot
理解
starter
配置的优先级
自动配置的原理
如何自定义 starter
MyBatis 以及 MyBatis-Plus
spring cloud
Nacos
Nacos 服务注册流程
Nacos 分级存储模型
Nacos 与 Eureka 的区别
OpenFeign
OpenFeign 的服务调用流程
Ribbon,Spring LoadBalancer 负载均衡
限流
Hystrix 和 Sentinel
如何利用 Sentinel 配置限流
滑动窗口算法
Gateway 相关,路由断言,过滤器
网关作用
实现原理
路由断言类型
过滤器实现方式
3. 数据库
sql 基本语法
mysql 中 char 和 varchar 的区别
什么是事务以及事务的四大特性
并发事务会引发哪些问题,如何解决,越高越好吗
mysql 索引
Mysql 数据库索引的数据结构,B+tree 索引结构的特点
聚簇索引(聚集索引),二级索引(非聚簇索引,辅助索引)
回表查询
为什么 MySQL 索引结构是 B+tree
索引优化
索引创建的原则
索引失效的场景
最左前缀法则
SQL 新能分析以及优化
如何定位慢 SQL
- SkyWalking