# 4. Striped64 如何通过 cells 分散热点写入,竞争扩容期间 base 与 cells 分别承担什么角色 A 唯一存储 B 无 C 只读 D 低竞争时的兜底计数,cells 分散高竞争 ✓ 正确答案
# 5. ThreadLocal 在虚拟线程下的内存膨胀问题与 Scoped Values(JEP 506)的替代方案 A 不随线程数膨胀,作用域绑定、不可变 ✓ 正确答案 B 可写 C 仅平台线程 D 更慢
# 6. ThreadLocal 的实现原理(ThreadLocalMap)与内存泄漏 A 无 B value 弱引用 C 弱引用 key 失效后 value 仍被强引用且线程长期存活 ✓ 正确答案 D key 强引用
# 7. opaque 访问只保证什么一致性,在哪些高级算法中可用而不应被当作普通发布手段 A 原子性 B 与其他线程的全序排序/及时可见性 ✓ 正确答案 C 非 out-of-thin-air D 因果一致
# 18. 线程中断(interrupt())与 InterruptedException 捕获的协作规范及与 Future.cancel 的关系 A 忽略 B 恢复中断标志或重新抛出 ✓ 正确答案 C 吞掉 D 打印
# 24. 线程生命周期(NEW/RUNNABLE/BLOCKED/WAITING/TIMED_WAITING/TERMINATED) A RUNNABLE B TIMED_WAITING ✓ 正确答案 C NEW D BLOCKED
# 25. 线程的 UncaughtExceptionHandler 设置与日志收集 A finally B Thread.setUncaughtExceptionHandler C 无 D Thread.setDefaultUncaughtExceptionHandler ✓ 正确答案
# 26. 线程的创建方式(继承 Thread、实现 Runnable/Callable、线程池) A Runnable/Callable + 线程池 ✓ 正确答案 B 静态方法 C 继承 Thread D 裸线程
# 30. LockSupport.park 与 unpark 的许可语义如何避免丢失通知,为什么仍要在条件循环中检查状态 A 许可可缓存(unpark 先于 park 时 park 立即返回) ✓ 正确答案 B 通知 C 无 D 加锁
# 33. JDK 25 虚拟线程(JEP 444,VirtualThread)与平台线程的 1:N 调度模型对传统线程池设计的影响 A IO 密集免池化,CPU 密集仍池化 ✓ 正确答案 B 无 C 必须池化 D 线程池废弃
# 34. Thread.UncaughtExceptionHandler 在虚拟线程中独立异常传播路径的设计 A 虚拟线程的 UncaughtExceptionHandler ✓ 正确答案 B GC C 无 D 主线程
# 39. compareAndExchange 与 compareAndSet 的返回语义有何不同,失败时 witness value 可怎样利用 A 实际当前值(witness) ✓ 正确答案 B false C null D 期望值
# 40. compareAndSet、compareAndExchange 与不同内存序应如何选择 A weak/plain B opaque C 无 D volatile 语义的 compareAndSet ✓ 正确答案
# 42. lockInterruptibly 与普通 lock 在排队期间收到中断时有何差异,调用方应如何清理状态 A 获取锁 B 死锁 C 忽略 D 抛 InterruptedException 放弃等待 ✓ 正确答案