面试题:Java 中的 synchronized 轻量级锁是否会进行自旋?
在 Java 中,synchronized 的实现涉及到几种不同的锁状态,包括无锁状态、偏向锁、轻量级锁和重量级锁。这些状态之间的转换是根据运行时的并发情况动态调整的。 对于轻量级锁来说,它并不直接涉...
面试题:Java 线程安全的集合有哪些?
在Java中,线程安全的集合类主要分为两类:传统线程安全集合和现代并发集合。以下是常见的线程安全集合及其特点: 1. 传统线程安全集合 这些集合通过 synchronized 关键字或全局锁实...
面试题:Java 的 synchronized 是怎么实现的?
Java 的 synchronized 关键字提供了一种简单而强大的机制来确保线程安全,它通过隐式的方式实现对象或类级别的锁控制。以下是 synchronized 实现机制的详细解释: 1. 锁的对象 实例方法:当 syn...
面试题:JavaScript 中如何合并对象?
这是一个非常实用的 JavaScript 面试题,考察对对象操作和 ES6+ 语法的掌握。合并对象有多种方法,从传统到现代逐步演进。 ✅ 方法一:Object.assign()(ES6,常用) const obj1 = { a: 1, b: 2...
面试题:React 的事件与普通 HTML 事件有什么区别?
React 的事件系统与原生 HTML 事件系统在使用上相似,但存在几个关键区别,主要体现在事件处理机制、事件对象和事件绑定方式上。 以下是两者的主要区别: 1. 事件命名规范不同 HTML 原生事件:...
面试题:如何计算 CSS 的优先级?
CSS 优先级(Specificity)是浏览器用来决定当多个规则作用于同一个元素时,哪个样式生效的机制。理解优先级对于解决样式冲突至关重要。 一、优先级计算规则 CSS 优先级由四部分组成,通常表示...
面试题:在 Java 中主线程如何知晓创建的子线程是否执行成功?
在Java中,主线程想要知晓其创建的子线程是否执行成功,可以通过以下几种方式来实现: 1. 使用 Thread.join() 方法 join() 方法允许一个线程等待另一个线程完成。通过调用子线程...
面试题:在 MySQL 中存储金额数据,应该使用什么数据类型?
在 MySQL 中存储金额数据时,推荐使用 DECIMAL 数据类型。这是金融领域和精确数值计算的行业标准选择,原因如下: 1. 为什么选择 DECIMAL? 精确性保障DECIMAL 是定点数类型,能够避免浮点型(F...
面试题:说说真实 DOM 和虚拟 DOM 的区别?它们的优缺点是什么?
这是一道非常经典的前端面试题,考察对核心渲染机制的理解。 下面从定义、区别、优缺点三个层面来拆解,并给出一个可以直接用于面试的参考答案。 一、核心定义 真实 DOM:浏览器提供的、代表HTM...
面试题:JDK 1.8 对 HashMap 除了红黑树还进行了哪些改动?
在 JDK 1.8 中,除了引入红黑树(用于优化链表过长时的查询效率)外,HashMap 还进行了多项重要改动,以下是主要的优化点: 1. 哈希函数的优化 改进计算方式:在 JDK 1.7 中,HashMap 的哈希值...









