面试题:Synchronized 和 ReentrantLock 有什么区别?
在 Java 中,Synchronized 和 ReentrantLock 都是用于实现线程同步的机制,但它们之间存在一些关键的区别。以下是两者的主要区别: 1. 实现方式 Synchronized:它是Java语言的关键字,是一种隐...
面试题:Java 中的强引用、软引用、弱引用和虚引用分别是什么?
在Java中,引用类型主要包括强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)。每种引用类型都有其特定的用途和应用场景,下面...
面试题:Java 线程池内部任务出异常后,如何知道是哪个线程出了异常?
在 Java 中,当你使用线程池(如 ThreadPoolExecutor 或其更高级别的封装如 Executors.newFixedThreadPool() 等)执行任务时,如果任务内部抛出了未捕获的异常,默认情况下这个异常不会直接反馈...
面试题:什么是 Java 中的线程同步?
在 Java 中,线程同步是指通过特定的机制确保多个线程访问共享资源时能够有序地进行,以避免数据不一致或竞态条件等问题。线程同步的核心目的是保证多线程环境下数据的一致性和完整性。 为什么...
面试题:为什么 Vue 中的 data 属性是一个函数而不是一个对象?
这是一个 Vue.js 面试中的经典问题,考察对组件实例化机制和数据隔离的理解。 核心答案:在 Vue 组件中,data 必须是一个函数,而不是一个对象,是为了保证每个组件实例都能拥有自己独立的数据...
面试题:CSS 伪元素和伪类的作用和区别?
这是一个经典的 CSS 面试题,理解伪元素和伪类的区别对于掌握 CSS 选择器至关重要。 核心区别总结 伪类 (Pseudo-classes):用于描述一个元素的特定状态或位置。它选择的是已存在的元素,但处于...
面试题:什么是 Java 的 Timer?
在 Java 中,Timer 是一个用于调度未来某个时间点执行一次或周期性执行任务的工具类。它位于 java.util 包中,通过创建一个后台线程来执行计划的任务。 尽管 Timer 类提供了一种相对简单的方式...
面试题:什么是 React 受控组件和非受控组件?它们有什么区别?
在 React 中,组件可以分为受控组件 (Controlled Components) 和非受控组件 (Uncontrolled Components)。这种分类主要针对处理表单元素(如 <input>, <textarea>, <select>)...
面试题:说说 px、em、rem 的区别及使用场景
面试题:说说 px、em、rem 的区别及使用场景 px、em、rem 是 CSS 中常用的长度单位,它们在参考基准、继承行为和响应式能力上有显著区别。理解它们的差异对于构建可维护、可访问、响应式的网页...
面试题:Redis 的 Pipeline 功能是什么?
Redis 的 Pipeline(管道) 是一种客户端批量操作技术,用于减少客户端与 Redis 服务器之间的网络通信开销,从而显著提升批量操作的性能。以下是对其原理、优势、使用场景及注意事项...









