Java 面试八股文:2024 最高频面试题汇总
Java 面试需要充分准备。本文整理最高频的面试题。
Java 基础
1. == 和 equals 的区别?
- == 比较引用地址
- equals 比较内容
2. String、StringBuilder、StringBuffer 的区别?
- String 不可变
- StringBuilder 可变,线程不安全
- StringBuffer 可变,线程安全
3. HashMap 的原理?
- 数组 + 链表 + 红黑树
- 默认容量 16,负载因子 0.75
- 链表长度 > 8 转红黑树
JVM
4. JVM 内存结构?
- 堆:对象存储
- 栈:方法调用
- 方法区:类信息
- 程序计数器:当前执行位置
5. 垃圾回收算法?
- 标记-清除
- 标记-整理
- 复制算法
并发
6. synchronized 和 ReentrantLock 的区别?
- synchronized 是关键字
- ReentrantLock 是类
- ReentrantLock 更灵活
7. 线程池参数?
- corePoolSize:核心线程数
- maximumPoolSize:最大线程数
- workQueue:任务队列
- handler:拒绝策略
框架
8. Spring IOC 的原理?
- 反射创建对象
- 容器管理生命周期
- 依赖注入
9. Spring AOP 的原理?
- 动态代理
- JDK 动态代理 / CGLIB
10. MyBatis 的工作原理?
- 解析 XML/注解
- 代理 Mapper 接口
- 执行 SQL
总结
面试准备需要系统性。掌握核心知识点,多做练习,才能在面试中脱颖而出。