2025年 Java 面试八股文 📅 发布时间:2026/7/9 15:15:11 👁️ 浏览次数: 2025–2026 年 Java 后端面试尤其是金九银十、春招秋招、社招的高频“八股文”已经高度内卷化。面试官越来越倾向于**“八股文 项目场景 真实问题解决”**的组合考察。下面给你一份2025–2026 年仍然最主流、最常被问到的八股文分类汇总基于大量真实面经、牛客/B 站/知乎/CSDN/GitHub 等渠道的统计按出现频率从高到低排序。每个模块列出8–15 个最高频问题带极简答案框架 追问方向建议你至少把带 ★ 的问题背到能脱口而出 手写代码。一、Java 基础 集合 JVM出现率 95%HashMap 1.8 底层数据结构 扩容机制 为什么引入红黑树★→ 数组 链表 → 数组 链表/红黑树阈值8 数组长度≥64HashMap 是线程安全的吗为什么并发场景用什么替代★→ 不安全 → ConcurrentHashMap1.7 Segment → 1.8 CAS synchronizedConcurrentHashMap 1.7 vs 1.8 的区别★→ 1.7 Segment 分段锁 → 1.8 Node CAS synchronized锁粒度更细JVM 运行时数据区有哪些哪些是线程共享的★→ 程序计数器私有、虚拟机栈、本地方法栈、堆共享、方法区/元空间共享JVM 垃圾回收算法有哪些新生代用什么老年代用什么★→ 标记-清除、标记-整理、复制 → 新生代复制 标记清除老年代标记整理/CMS/G1JVM 怎么判断对象可以被回收两种方式★→ 引用计数法不主流、可达性分析GC Roots常见的 GC Roots 有哪些→ 虚拟机栈中引用的对象、方法区中静态变量/常量、native 方法栈 JNI 引用等full gc 频繁的原因及解决思路★→ 大对象、元空间溢出、老年代分配担保失败、System.gc() 等String、StringBuilder、StringBuffer 的区别★→ String 不可变、SB 非线程安全、Buffer 线程安全equals() 和 hashCode() 的关系重写 equals 必须重写 hashCode 吗★→ 必须否则 HashMap 等集合行为异常Java 8 新特性你用过哪些Lambda、Stream、Optional、函数式接口★二、并发 多线程出现率 90%线程与进程的区别★→ 进程资源独立、线程共享进程资源创建线程的几种方式哪种最好★→ 继承 Thread、实现 Runnable、Callable FutureTask、线程池推荐线程池的核心参数如何合理配置★→ 核心数、最大数、队列、拒绝策略、线程工厂线程池饱和后拒绝策略有几种默认是哪个★→ Abort、CallerRuns、Discard、DiscardOldest → 默认 AbortPolicysynchronized 和 ReentrantLock 的区别★→ synchronized 自动释放、ReentrantLock 可中断、可公平、可定时volatile 关键字的作用底层实现★→ 可见性 禁止指令重排序 → 内存屏障 Lock 前缀指令CAS 是什么ABA 问题怎么解决★→ Compare And Swap → AtomicStampedReference / AtomicMarkableReferenceAQS 是什么核心思想★→ AbstractQueuedSynchronizer → 状态变量 CLH 队列 模板方法ReentrantLock 是怎么实现的→ 基于 AQS CAS 修改 state线程安全的单例模式有几种写法★→ 双检锁volatile、静态内部类、枚举ThreadLocal 的原理内存泄漏怎么解决★→ 每个线程一个 Map → remove() 或 weak 引用 主动清理三、Spring 全家桶出现率 85%Spring IOC 的底层实现★→ BeanDefinition BeanFactory 反射 代理Bean 的生命周期★→ 实例化 → 属性填充 → 初始化前 → 初始化init-method → 使用 → 销毁前 → 销毁Spring 如何解决循环依赖三级缓存★→ singletonObjects一级 → earlySingletonObjects二级 → singletonFactories三级Transactional 传播行为有几种默认是哪个★→ REQUIRED默认、REQUIRES_NEW、NESTED 等 7 种Spring AOP 的底层实现动态代理的两种方式区别★→ JDK 动态代理接口 vs CGLIB子类Spring Boot 自动配置原理★→ EnableAutoConfiguration → META-INF/spring.factories → Condition 条件装配Spring Boot 如何实现 starter→ 约定大于配置 spring.factories 自动配置类Spring MVC 的执行流程★→ DispatcherServlet → HandlerMapping → HandlerAdapter → Controller → ViewResolver → View四、MySQL Redis MQ出现率 80%MySQL 索引为什么用 B 树★→ 范围查询效率高、叶子节点存数据、扇出大InnoDB 与 MyISAM 的区别★→ InnoDB 支持事务/行锁/外键MyISAM 表锁/全文索引索引失效的常见场景★→ 函数、隐式转换、or、!、is null、like %xx%Redis 数据类型有哪些ZSet 底层实现★→ String/Hash/List/Set/ZSet/BitMap/Geo/HyperLogLog → ziplist skiplistRedis 持久化方式RDB vs AOF 优缺点★→ RDB 快照紧凑、AOF 日志安全、可重放Redis 缓存击穿/穿透/雪崩怎么解决★→ 击穿互斥锁 / 逻辑过期→ 穿透布隆过滤器 / 缓存空对象→ 雪崩随机过期 多级缓存 限流Kafka 高可用怎么保证→ 分区副本 Leader/Follower ISR五、分布式 微服务 高并发场景出现率 70%分布式锁怎么实现Redis vs Zookeeper★→ Redissetnx 过期 Lua 脚本→ ZK临时顺序节点分布式事务有几种方案优缺点★→ 2PC/3PC、TCC、Seata-AT、MQ 最终一致性、本地消息表秒杀系统怎么设计超卖怎么防★→ 限流 令牌桶 异步下单 库存扣减Redis Lua / 数据库乐观锁服务拆分原则如何避免分布式事务JWT 原理如何实现无状态登录六、项目 场景题2025–2026 年占比越来越高线上 OOM / Full GC 频繁怎么排查→ jmap / jstat / arthas / dump 分析深分页怎么优化→ 覆盖索引 延迟关联 search after / scroll扫码登录怎么实现→ UUID 长轮询 / WebSocket Redis 存储状态Redis 如何实现亿级用户连续签到统计→ Bitmap HyperLogLogUV bitfield 统计如何设计一个高并发点赞系统你现在是准备春招/秋招还是社招跳槽应届生 / 1–3 年重点 Java 基础 Spring MySQL Redis 项目3–5 年并发 JVM 调优 分布式 场景题5 年架构设计 源码 真实故障案例告诉我你的经验年限 目标公司档次字节/阿里/腾讯/美团/京东/拼多多/大厂外包等我可以给你更精准的优先级排序 刷题路线 答案模板。需要我展开某个模块的详细答案比如三级缓存、AQS、秒杀防超卖也可以直接说
嵌入式之C/C++(四)预处理 嵌入式开发中,C/C 预处理(Preprocessor) 是非常核心且经常被低估的部分,尤其在资源受限的 MCU 项目中,它直接影响代码体积、可维护性、可移植性、调试难度和最终生成的 .hex / .bin 大小。 下面从嵌入式视角给你一个系… 2026/5/17 2:07:47
一体化社区论坛小程序系统,助力企业节省成本快速上线 温馨提示:文末有资源获取方式 对于许多企业而言,定制开发一个功能完善的社区小程序,意味着漫长的周期、高昂的费用以及不可控的技术风险。市场迫切需要一款成熟、稳定、功能全面且能快速部署的标准化产品。一款高度集成的一体化社区论坛小程序… 2026/7/8 16:19:52
无需编码!零基础技术小白怎么搭建社区论坛小程序源码系统 温馨提示:文末有资源获取方式 在数字化运营成为标配的今天,拥有一个属于自己的社区平台,是聚合用户、沉淀价值的有效途径。然而,高昂的开发成本与复杂的技术门槛,让许多有志于此的创业者与中小企业望而却步。现在&… 2026/7/6 5:20:13
【Springboot毕设全套源码+文档】基于SpringBoot的水族馆商品销售与经营管理系统(丰富项目+远程调试+讲解+定制) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 15:15:05
工厂研发试制总打乱生产?AIPS用“模拟计划”破局 引言:创新与交付的永恒矛盾 在制造业,尤其是涉及非标定制、新品试制的工厂里,一个经典的“左右互搏”难题长期存在:研发部门要创新、要试制新产品,而生产部门要保交付、要稳产能。 研发拿着一个新零件或一条试制线需求… 2026/7/9 15:15:05
C++与GPU交互优化:提升图形渲染效率的核心策略 1. 项目概述:为什么C与GPU交互是图形渲染的命门?如果你正在用C写图形程序,无论是游戏引擎、CAD软件还是数据可视化工具,大概率都遇到过这样的场景:场景稍微复杂一点,帧率就开始“跳水”,CPU明明… 2026/7/9 15:13:03
3ds Max 插件开发对比:MAXScript vs Python API 在 2024 年的 3 大差异 3ds Max 插件开发深度对比:MAXScript与Python API在2024年的技术决策指南1. 技术架构与开发范式差异MAXScript作为Autodesk官方开发的专用脚本语言,其核心优势在于与3ds Max的深度集成。最新版本中,MAXScript的即时编译速度提升了40%… 2026/7/9 15:13:03
智体技能评估与演化:框架与基准 26年6月来自Rutgers大学和北卡大学(夏洛特分校)的论文“Agent Skill Evaluation and Evolution: Frameworks and Benchmarks”。 智体(Agent)能力的提升彻底改变了智体系统的构建、评估与部署方式。随着技能库规模的不断扩大&… 2026/7/9 15:13:03
如何快速下载B站视频:BilibiliDown全平台使用终极指南 如何快速下载B站视频:BilibiliDown全平台使用终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/b… 2026/7/9 15:09:00
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08