Java 中级进阶路线(完整版结构化补全,贴合面试 + 企业实战)

注意:结合 【Java初级最终完整版学习路线图 】这篇一起看,先从基础再到中级。

Java初级 最终完整版学习路线图-CSDN博客

1. 集合底层源码(面试核心必啃)

1.1 HashMap 底层深度

  • 底层数据结构:数组 + 链表 + 红黑树
  • 哈希扰动、hash 计算原理
  • 初始容量、负载因子、扩容机制
  • 链表转红黑树、红黑树退化成链表条件
  • JDK1.7 与 JDK1.8 HashMap 核心区别
  • 死循环、数据覆盖线程不安全原因

1.2 ConcurrentHashMap 并发安全

  • JDK1.7:分段锁 Segment 原理
  • JDK1.8:CAS + synchronized 实现并发
  • 底层结构、扩容、并发 put 流程
  • 线程安全保障机制、为什么比 Hashtable 高效
  • 常用方法、并发场景使用规范

2. 反射 + 注解 + 泛型 + 动态代理(框架底层基石)

2.1 反射深度

  • Class 类获取三种方式
  • 反射操作:构造器、成员变量、成员方法
  • 暴力反射访问私有属性 / 方法
  • 反射原理、应用场景(框架、ORM、工具类)

2.2 注解

  • 元注解:@Target、@Retention、@Documented、@Inherited
  • 自定义注解开发
  • 注解 + 反射实现业务逻辑
  • Spring 常用注解底层原理

2.3 泛型深入

  • 泛型擦除机制
  • 通配符?、上界 <? extends T>、下界 <? super T>
  • 泛型逆变、协变
  • 泛型在集合、框架中的实际应用

2.4 动态代理

  • 静态代理实现与缺点
  • JDK 动态代理:基于接口、InvocationHandler
  • CGLIB 动态代理:基于子类继承、无需接口
  • 动态代理底层执行流程
  • AOP 底层为什么依赖动态代理

3. Spring 核心深度:IOC / AOP / Bean 生命周期

3.1 IOC 容器

  • IOC 控制反转、DI 依赖注入核心思想
  • Bean 实例化方式、依赖注入三种方式
  • 循环依赖成因及 Spring 三级缓存解决原理
  • Bean 作用域:singleton、prototype、request、session、application
  • 懒加载、FactoryBean 与 BeanFactory 区别

3.2 Bean 完整生命周期

实例化 → 属性填充 → 初始化前置后置 → 初始化方法 → 销毁方法

  • InitializingBean、DisposableBean
  • @PostConstruct、@PreDestroy
  • BeanPostProcessor 后置处理器

3.3 AOP 深度

  • AOP 核心概念:切面、切点、连接点、通知、引入
  • 五大通知类型:前置、后置、返回、异常、环绕
  • 切点表达式 execution 语法
  • AOP 代理选择:有接口用 JDK 动态代理,无接口用 CGLIB
  • 事务、日志、权限拦截 AOP 实战落地

4. Spring 事务 + 数据库优化 + 慢 SQL 排查

4.1 Spring 事务

  • 事务四大特性 ACID
  • 编程式事务、声明式事务 @Transactional
  • 事务传播行为 7 种、事务隔离级别 5 种
  • 事务失效常见场景(面试高频)
  • 事务嵌套、事务回滚规则

4.2 MySQL 高级优化

  • 索引底层:B + 树原理、聚簇索引 / 非聚簇索引
  • 联合索引最左前缀原则
  • 索引设计规范、哪些字段适合建索引
  • 避免索引失效实操规范
  • 表结构优化、字段类型选型、大表拆分思路

4.3 慢 SQL 排查与调优

  • slow_query_log 慢查询日志开启
  • explain 执行计划使用详解
  • 看 type、key、rows、Extra 分析 SQL 瓶颈
  • 子查询、join 优化、分页深分页优化
  • SQL 语句改写实战技巧

5. Redis + MQ 中间件基础(微服务前置必备)

5.1 Redis 基础与常用数据结构

  • Redis 安装、配置、客户端连接
  • 5 大基础数据结构:String、List、Set、Hash、ZSet
  • 各结构适用业务场景
  • 全局 Key 设计规范、过期策略
  • 缓存基础:缓存命中、缓存 Key 设计
  • Redis 常用命令、Java 客户端 Lettuce / Jedis 使用

5.2 MQ 消息队列基础

  • MQ 作用:解耦、削峰、异步、流量控制
  • 主流 MQ 对比:RabbitMQ / RocketMQ / Kafka
  • 核心概念:生产者、消费者、交换机、队列、路由
  • 消息投递、消费流程
  • 消息可靠、丢失、重复消费基础认知
  • 简单业务场景落地:异步通知、日志解耦

更多推荐