26年2月极兔极致供应链 Java开发工程师 二面
大厂JAVA面经目录 —— 包含八股文、真实面经、内推信息
https://www.nowcoder.com/discuss/859441734932000768
本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏。
面试题会持续更新,订阅专栏后永远都可看最新的真实面经
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1. Java中“值传递”本质:对象作为参数传递时,修改属性为何外部可见?
思路
先明确Java“值传递”的核心(传递的是变量的副本),再区分“对象引用副本”和“对象本身”的关系。
回答示例
Java只有值传递,对象作为参数传递时的核心逻辑:
- 值传递的本质:传递的是“对象引用的副本”(而非对象本身),比如
void test(User u),传入的是u这个引用变量的副本,两个引用都指向堆中同一个对象; - 修改属性外部可见的原因:
一句话总结:传递的是引用副本,修改副本指向的对象属性,等同于修改原对象;修改副本本身,与原对象无关。
2. CopyOnWriteArrayList写操作全程加锁,为何读操作无需加锁?
思路
核心讲“写时复制”机制,读操作访问的是不可变的旧数组,无线程安全问题。
回答示例
CopyOnWriteArrayList的核心是写时复制(COW),读无需加锁的原因:
- 写操作逻辑:
- 读操作逻辑:
代价:写操作有复制数组的性能开销,适合读多写少场景。
3. ThreadLocal内存泄漏的根源:弱引用仅作用于Key,Value如何清理?
思路
先讲ThreadLocalMap的结构(Key=弱引用ThreadLocal,Value=强引用),再讲Value泄漏的原因和清理机制。
回答示例
1. 内存泄漏根源
ThreadLocalMap中:
- Key:对ThreadLocal的弱引用(GC时若无强引用指向ThreadLocal,Key会被回收);
- Value:对实际值的强引用(即使Key被回收,Value仍被ThreadLocalMap强引用,无法回收);
- 最终导致:ThreadLocalMap中出现“Key为null、Value不为null”的无效条目,长期占用内存→内存泄漏。
2. Value的清理机制
- 主动清理:调用
ThreadLocal.remove(),会删除当前ThreadLocal对应的Key和Value,是最推荐的方式; - 被动清理:
核心建议:使用完ThreadLocal后务必调用remove(),尤其是线程池场景。
4. JDK8后方法区由元空间实现,元空间内存溢出的典型触发场景?
思路
先讲元空间存储内容(类元数据、常量池等
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
【八股真解】精炼最新高频面经 文章被收录于专栏
本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏

查看7道真题和解析