跳到主要内容

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

如何知道 SQL 语句的执行性能,以及索引是否生效​

4. 中间件​

redis​

基础​

redis 常见数据类型​

集群​

redis 主从集群与分片集群的区别​

持久化​

持久化策略​

内存淘汰策略​

redis 数据删除​

redis 是单线程吗​

为什么单线程快​

redis 红锁​

MQ​

为什么要使用 MQ​

MQ 应用场景​

MQ 如何保障发送消息可靠​

MQ 如何保障消费消息可靠​

MQ 死信队列(延迟队列)​

如何防止消息重复消费​

如何解决消息解压问题​

RabbitMQ 的消息模式​

elasticsearch​

正向索引​

倒排索引​

ES 索引文档的过程​

ES 搜索步骤​

ES 相对 mysql 的特点是什么​

ES 集群情况​

ES 采用什么数据结构​

5. CICD​

docker​

基础​

docker 与虚拟机的区别​
常用命令​
数据卷​
默认网络模式​
docker compose​

K8S​

常用组件​

tomcat​

Nginx​

什么是正向代理​

什么是反向代理​

CDN​

Nginx 负载均衡​

Nginx 限流​

基础知识​

git​

git 本地仓库,远程仓库​

git 工作原理​

处理冲突​

分支如何管理,创建分支有什么规则​

Maven​

maven 用来做什么​

maven 规约​

maven 的生命周期​

密码学​

加密算法​

有哪些加密算法​
对称加密,非对称加密以及哈希摘要​
签名算法​
项目中密码如何存储​
DES, AES, SM4​
RSA, ECDSA, SM2​

web​

HTTP 协议​

Session 会话跟踪的原理​

分布式​

理论​

CAP 定理​

BASE 理论​

二阶段提交​

SEATA 模式​

柔性事务,刚性事务​

分布式锁​

什么是分布式锁​

分布式锁的实现方案​

如何选择分布式锁的方案​

redisson 分布式锁如何应用​

如何实现分布式锁的可重入​

如何提升分布式锁的性能​


0%