当前位置: 首页 > news >正文

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 面试攻略

http://www.jsqmd.com/news/172110/

相关文章:

  • Linux Fundamentals Part 3
  • 深度学习模型构建与管理:模型保存与加载技术
  • DNP-HSA,2,4-二硝基苯基-人血清白蛋白,生物实验、免疫学研究
  • 【课程设计/毕业设计】基于springboot的社区智慧养老系统健康管理 - 生活服务 - 家属协同 - 社区监管” 全流程智慧平台【附源码、数据库、万字文档】
  • 【边缘计算+PHP】数据预处理性能提升10倍的秘密武器曝光
  • YOLOv8 Conda环境创建命令模板分享
  • Java毕设项目推荐-基于springboot的社区智慧养老系统基于springboot社区智慧医疗养老系统【附源码+文档,调试定制服务】
  • 卷积神经网络深度探索
  • Fluid主题美化-访问量曲线图
  • YOLOv8备份策略:重要模型文件异地保存
  • gnet未来展望:从网络框架到云原生基础设施
  • YOLOv8能否做实例分割?segment模式使用说明
  • 涂膜划痕试验仪|涂层质量的精准试金石 - 品牌推荐大师1
  • YOLOv8能否识别文本?OCR扩展应用场景探讨
  • 2026十大图库藏宝图:高清免费正版素材网站推荐,找图不踩坑 - 品牌2026
  • YOLOv8轻量级模型yolov8n优势解析:适合边缘设备部署
  • 模拟运输振动台哪个品牌好?十大行业标杆厂家盘点,定制+高售后+高性价比必看! - 品牌推荐大师1
  • 如何快速搭建免费的 QQ 音乐数据采集系统
  • 关于 RTP/AVPF 的简单讨论
  • 分享几个好用的在线破解md5的网站_md5在线解密
  • YOLOv8镜像是否支持Windows系统?跨平台使用答疑
  • 如何用数字化技术重构汽车产业链?
  • YOLOv8 + Linux系统优化:最大化GPU利用率技巧汇总
  • 超越FTP:实现企业级安全管控与无缝集成的文件传输平台如何选
  • 【PHP 8.7性能飞跃揭秘】:实测新特性带来的3倍执行效率提升
  • C#利用OCR实现车牌识别(包含模型及源码)
  • 视频直播点播平台EasyDSS如何为大型活动直播提供技术基石
  • 打气泵PCBA方案——智能充气设备开发
  • C#跨平台项目调试难?资深工程师亲授6招快速诊断法
  • YOLOv8社区活跃度分析:GitHub Star趋势观察