面试题:为什么 Java 中的 ThreadLocal 对 key 的引用为弱引用?
在Java中,ThreadLocal 变量的键(即 ThreadLocal 实例)使用弱引用(Weak Reference)主要是为了防止内存泄漏。理解这一点需要从 ThreadLocal 的内部实现机制和Java垃圾回收机制两个方面来分析...
面试题:React 的 displayName 属性有什么作用?
在 React 中,displayName 是一个可选的字符串属性,主要用于调试和开发工具中,为组件提供一个有意义的名称,以便在 React DevTools 和错误信息中更容易地识别组件。 核心作用 在 React DevToo...
面试题:Synchronized 和 ReentrantLock 有什么区别?
在 Java 中,Synchronized 和 ReentrantLock 都是用于实现线程同步的机制,但它们之间存在一些关键的区别。以下是两者的主要区别: 1. 实现方式 Synchronized:它是Java语言的关键字,是一种隐...
面试题:Java 线程池内部任务出异常后,如何知道是哪个线程出了异常?
在 Java 中,当你使用线程池(如 ThreadPoolExecutor 或其更高级别的封装如 Executors.newFixedThreadPool() 等)执行任务时,如果任务内部抛出了未捕获的异常,默认情况下这个异常不会直接反馈...
面试题:常见的 CSS 布局单位有哪些?
面试题:常见的 CSS 布局单位有哪些? CSS 提供了丰富的长度和布局单位,用于控制元素的尺寸、间距、字体等。根据使用场景,这些单位可分为 绝对单位 和 相对单位 两大类。掌握它们的特性有助于...
面试题:Redis 数据过期后的删除策略是什么?
Redis 的 数据过期删除策略 是通过 惰性删除 和 定期删除 两种机制结合实现的,目的是在 内存占用 和 CPU资源消耗 之间取得平衡。以下是详...
面试题:Redis 的订阅发布功能是什么?你了解吗?
Redis 的订阅发布(Pub/Sub,Publisher/Subscriber)功能是一种消息通信模式,允许消息的发送者(发布者)不直接与接收者(订阅者)通信,而是通过频道(channels)进行间接通信。 这种模式非常...
面试题:️ES6 新增的 Symbol 基础数据类型有什么作用?
ES6 引入的 Symbol 是 JavaScript 的第七种原始数据类型(primitive data type),其他六种是:string、number、boolean、null、undefined 和 object(object 是引用类型,但 typeof null 也返...
面试题:mouseover 和 mouseenter 事件的区别是什么?
mouseover 和 mouseenter 都是鼠标进入元素时触发的事件,但它们在事件冒泡(或事件传播)的行为上有关键区别: 1. mouseover 事件 触发时机:当鼠标指针进入元素或其任何子元素时触发。 冒泡行...
面试题:Vue 中 MVVM、MVC 和 MVP 模式的区别是什么?
这是一个考察对前端架构模式理解的面试题。Vue.js 的核心设计思想是 MVVM 模式,但它也借鉴了 MVC 和 MVP 的一些理念。下面详细解释这三种模式的区别: 1. MVC 模式 (Model-View-Controller) 核...










