Skip to main content

java体系技术梳理

4 min read

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 分布式锁如何应用

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

如何提升分布式锁的性能

Loading Comments...

0%