核心内容摘要
探索“白丝玉导管素材库”:视觉盛宴与无限灵感的碰撞
Java 作为企业级开发的主流语言面试时涉及的知识点广泛且深入。
本文整理了Java 基础、集合、多线程、JVM、Spring、数据库、分布式等高频面试题并附上详细解析帮助大家高效备战面试
Java 基础
Java 的三大特性是什么✅答案封装隐藏对象的属性和实现细节仅对外提供访问方式getter/setter。
继承子类继承父类的属性和方法提高代码复用性。
多态同一方法在不同对象上有不同行为方法重写、接口实现。
和 equals() 的区别✅答案比较基本数据类型的值或引用类型的内存地址。
equals()默认比较对象地址Object类但可被重写如 String 比较内容。
String、StringBuilder、StringBuffer 的区别✅答案类可变性线程安全适用场景String❌ 不可变✅ 安全final字符串常量StringBuilder✅ 可变❌ 不安全单线程字符串操作StringBuffer✅ 可变✅ 安全synchronized多线程字符串操作
Java 集合
ArrayList 和 LinkedList 的区别✅答案对比项ArrayListLinkedList底层结构动态数组双向链表查询效率O(
随机访问快O(n)需遍历增删效率O(n)需移动元素O(
头尾操作快适用场景频繁查询频繁增删
HashMap 的底层原理✅答案JDK
7数组 链表哈希冲突时链表存储。
JDK
8数组 链表 红黑树链表长度 ≥8 时转红黑树。
扩容机制默认容量 16负载因子
75扩容时容量翻倍。
篇幅限制下面就只能给大家展示小册部分内容了。
整理了一份核心面试笔记包括了Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafc需要全套面试笔记及答案【点击此处即可/免费获取】https://docs.qq.com/doc/DQXdYWE9LZ2ZHZ1ho⚡
多线程 并发
线程的创建方式有哪些✅答案继承 Thread 类不推荐单继承限制。
实现 Runnable 接口推荐可复用。
实现 Callable 接口可返回结果配合 FutureTask。
线程池ExecutorService推荐管理线程资源。
synchronized 和 ReentrantLock 的区别✅答案对比项synchronizedReentrantLock实现方式JVM 层面Java API 层面锁类型非公平锁可公平/非公平可中断❌ 不支持✅ 支持lockInterruptibly条件变量❌ 不支持✅ 支持Condition️
JVM
JVM 内存模型运行时数据区✅答案方法区元空间存储类信息、常量、静态变量。
堆Heap存放对象实例GC 主要区域。
虚拟机栈存储方法调用、局部变量表。
本地方法栈Native 方法调用。
程序计数器记录线程执行位置。
垃圾回收算法有哪些✅答案标记-清除简单但内存碎片多。
复制算法高效新生代使用但浪费空间。
标记-整理适合老年代减少碎片。
分代收集新生代复制算法 老年代标记-整理。
Spring
Spring Bean 的生命周期✅答案实例化new属性赋值populate初始化PostConstruct、InitializingBean使用销毁PreDestroy、DisposableBean
Spring AOP 的
实现原理✅答案JDK 动态代理基于接口。
CGLIB 动态代理基于子类无接口时使用。
核心ProxyFactoryMethodInterceptor。
篇幅限制下面就只能给大家展示小册部分内容了。
整理了一份核心面试笔记包括了Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafc需要全套面试笔记及答案【点击此处即可/免费获取】https://docs.qq.com/doc/DQXdYWE9LZ2ZHZ1ho
数据库 缓存
MySQL 索引失效的场景✅答案使用!、、NOT IN。
对索引列进行运算如WHERE age 1 20。
使用LIKE %xx左模糊。
联合索引未遵循最左前缀原则。
Redis 持久化方式✅答案RDB快照定时全量备份恢复快但可能丢数据。
AOF日志记录写命令数据更安全但文件较大。
混合模式Redis
0RDB AOF 结合。
分布式 微服务
CAP 理论是什么✅答案C一致性所有节点数据一致。
A可用性每次请求都能响应。
P分区容错性网络分区时仍能运行。
结论分布式系统只能满足其中两项如 CP、AP。
如何解决分布式事务问题✅答案2PC两阶段提交协调者 参与者强一致但阻塞。
TCCTry-Confirm-Cancel业务补偿适用于高并发。
SAGA长事务拆分 补偿机制。
本地消息表异步确保最终一致。