“Java 八股文”是程序员面试圈里的一个调侃说法,借用了古代科举”八股文”的概念,指的是面试中高频出现、答案相对固定、需要背诵的套路化知识点。

它不是官方术语,而是大家用来形容那些”背得滚瓜烂熟就能答出来”的题目。

通常包含的内容

  1. Java 基础

    • 面向对象三大特性
    • HashMap、ConcurrentHashMap 原理
    • equals 和 hashCode
    • 异常体系、泛型、反射、IO
  2. JVM

    • 内存模型(堆、栈、方法区等)
    • 垃圾回收算法与垃圾收集器
    • 类加载机制、双亲委派模型
    • JVM 调优与问题排查(OOM、CPU 高等)
  3. Java 并发

    • 线程状态、线程池
    • synchronized、volatile、ReentrantLock
    • JUC 包(CountDownLatch、CyclicBarrier、Semaphore 等)
    • AQS、CAS、 happens-before、内存屏障
  4. MySQL

    • 索引原理(B+树)、索引优化
    • 事务 ACID、隔离级别、MVCC
    • 锁机制、慢查询优化
    • 主从复制、分库分表
  5. Redis

    • 数据类型与应用场景
    • 持久化 RDB/AOF
    • 缓存穿透、击穿、雪崩
    • 分布式锁、Redisson
  6. Spring / Spring Boot

    • IOC、AOP 原理
    • Bean 生命周期、循环依赖
    • 事务传播机制
    • Spring Boot 自动配置原理
  7. 消息队列

    • Kafka / RocketMQ / RabbitMQ
    • 如何保证消息不丢失、顺序消费、幂等性
  8. 其他

    • 计算机网络(TCP/UDP、HTTP、HTTPS、三次握手四次挥手)
    • 操作系统(进程线程、IO 模型、Linux 常用命令)
    • 设计模式
    • 分布式理论(CAP、BASE、分布式事务、限流降级等)

简单理解

“八股文”≈ 面试高频考点 + 标准答案模板。