news 2026/5/11 15:19:27

Java面试宝典(超级详细)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java面试宝典(超级详细)

下面给你一份《Java 面试宝典(超级详细版)》,覆盖校招 / 社招 / 中高级面试,内容按“必背知识点 + 面试高频问法 + 一句话答案”来整理,直接照着背都能用

适合人群:
✅ Java 初/中级开发
✅ 转行 / 校招
✅ 社招 1–5 年
✅ 面试前系统复习


Java 面试宝典(超级详细 · 一篇顶多篇)


一、Java 基础(必问)

1️⃣ Java 特点

面试问法

Java 有哪些特点?

标准答案

  • 面向对象
  • 跨平台(JVM)
  • 自动垃圾回收
  • 丰富的类库
  • 多线程支持

2️⃣ JDK / JRE / JVM 区别

名称作用
JVM运行 Java 字节码
JREJVM + 核心类库
JDKJRE + 开发工具

一句话

JDK 是开发环境,JRE 是运行环境,JVM 是执行引擎。


3️⃣ == 和 equals 的区别

对比==equals
基本类型比值不适用
引用类型比地址比内容(可重写)

📌 面试加分点

重写 equals 必须重写 hashCode


4️⃣ final、finally、finalize 区别

  • final:修饰变量 / 方法 / 类
  • finally:异常块
  • finalize():GC 前调用(已不推荐)

二、集合(高频重点)

1️⃣ List / Set / Map 区别

接口特点
List有序、可重复
Set无序、不重复
Mapkey-value

2️⃣ ArrayList vs LinkedList

对比ArrayListLinkedList
底层数组双向链表
查询
插入删除

3️⃣ HashMap 原理(必考)

核心结构

数组 + 链表 + 红黑树

JDK 1.8 以后

  • 链表长度 ≥ 8 → 红黑树
  • 默认容量 16
  • 扩容 2 倍

面试一句话

HashMap 通过 hash 定位数组下标,冲突时使用链表或红黑树解决。


4️⃣ HashMap 和 ConcurrentHashMap

对比HashMapConcurrentHashMap
线程安全
锁机制CAS + synchronized

三、异常机制

1️⃣ 异常体系

Throwable ├── Error └── Exception ├── RuntimeException └── 非运行时异常

2️⃣ throw 和 throws 区别

对比throwthrows
用途抛异常声明异常
位置方法内方法签名

四、多线程(面试核心)

1️⃣ 创建线程的方式

  1. 继承 Thread
  2. 实现 Runnable
  3. Callable + Future
  4. 线程池(推荐)

2️⃣ 线程池参数(必背)

newThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,unit,workQueue,handler)

拒绝策略

  • AbortPolicy(默认)
  • CallerRunsPolicy
  • DiscardPolicy
  • DiscardOldestPolicy

3️⃣ synchronized 和 Lock

对比synchronizedLock
是否可中断
公平锁
灵活性

4️⃣ volatile 作用

  • 保证可见性
  • 禁止指令重排
  • 不保证原子性

五、JVM(中高级必考)

1️⃣ JVM 内存结构

堆 方法区(元空间) 虚拟机栈 本地方法栈 程序计数器

2️⃣ 垃圾回收算法

  • 标记-清除
  • 复制
  • 标记-整理
  • 分代回收

3️⃣ 常见 GC 收集器

收集器场景
Serial单线程
Parallel高吞吐
CMS低延迟
G1综合最优(推荐)

4️⃣ 内存泄漏 vs 内存溢出

  • 内存泄漏:对象无法回收
  • 内存溢出:内存不够用(OOM)

六、Spring(必问)

1️⃣ IOC 和 AOP

  • IOC:控制反转,对象由容器管理
  • AOP:面向切面,解耦横切逻辑

2️⃣ Spring Bean 生命周期

实例化 → 依赖注入 → 初始化 → 使用 → 销毁

3️⃣ Spring 常用注解

  • @Component
  • @Service
  • @Autowired
  • @Controller
  • @RestController

七、Spring Boot

核心优势

  • 自动配置
  • 内嵌 Tomcat
  • 约定大于配置

启动流程一句话

Spring Boot 启动本质是创建 Spring 容器并完成自动配置。


八、MySQL(必考)

1️⃣ 索引类型

  • 主键索引
  • 唯一索引
  • 普通索引
  • 联合索引

2️⃣ B+ 树索引原因

  • 磁盘 IO 少
  • 范围查询快
  • 高度低

3️⃣ 事务特性(ACID)

  • 原子性
  • 一致性
  • 隔离性
  • 持久性

4️⃣ 隔离级别

级别问题
读未提交脏读
读已提交不可重复读
可重复读幻读
串行化性能低

九、Redis(加分项)

  • 基于内存
  • 单线程
  • 高性能

常用数据类型

  • String
  • Hash
  • List
  • Set
  • ZSet

十、计算机基础(常问)

TCP 三次握手

SYN → SYN+ACK → ACK

HTTP vs HTTPS

  • HTTPS = HTTP + SSL
  • 加密更安全

十一、面试终极技巧

✅ 不会的别硬编
✅ 多用「一句话总结」
✅ 项目问题往自己熟的方向引
✅ 适当画图说明


十二、Java 面试一句话大全(背这个就行)


结尾

这份Java 面试宝典已经覆盖了80% 以上 Java 面试题

如果你需要👇

直接告诉我你的目标(校招 / 社招 / 年限 / 公司),我可以给你定制版 Java 面试攻略

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 23:53:31

YOLOv8模型压缩技术:剪枝与量化实战

YOLOv8模型压缩技术:剪枝与量化实战 在智能摄像头、工业质检终端和无人机巡检系统日益普及的今天,一个共同的挑战摆在开发者面前:如何让像YOLOv8这样高性能的目标检测模型,在算力有限的边缘设备上依然跑得动、跑得快?…

作者头像 李华
网站建设 2026/5/9 10:15:10

java计算机毕业设计新能源汽车物流接单系统移动端的设计与实现 新能源车辆运输任务智能撮合平台(移动端) 基于Android的绿色运力即时调度系统

计算机毕业设计新能源汽车物流接单系统移动端的设计与实现n40ta9(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。网约车、外卖之后,新能源物流车成为城市零碳配送的“…

作者头像 李华
网站建设 2026/5/8 22:04:07

【课程设计/毕业设计】基于springboot框架的生鲜冷冻食品商城系统基于SpringBoot生鲜商城系统设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/5/10 6:31:39

如何用数字化技术重构汽车产业链?

一、汽车数字化产业链的内涵与价值随着新一代信息技术的快速发展,汽车产业链的数字化转型已经成为行业发展的必然趋势。数字化产业链不仅仅是技术的简单叠加,而是通过数据流、信息流和服务流的贯通,实现从研发到售后的全链条协同。这种模式打…

作者头像 李华
网站建设 2026/5/9 15:17:47

YOLOv8 Git版本管理实践:分支策略与协作流程

YOLOv8 Git版本管理实践:分支策略与协作流程 在AI项目日益复杂的今天,一个看似简单的“模型训练”任务背后,往往隐藏着多轮实验、多人协作和频繁变更。尤其是在使用像YOLOv8这样快速迭代的深度学习框架时,团队常常面临这样的窘境&…

作者头像 李华