面试题:当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗?
当一个 Java 对象的锁通过 synchronized 升级到重量级锁之后,即使所有线程都释放了这个锁,该对象的锁仍然保持为重量级锁的状态。 这是因为锁膨胀(Lock Escalation)在 JVM 中是单向的,一旦...
面试题:什么情况下会触发 Java 的 Full GC?
在Java中,Full GC指的是对整个堆(包括年轻代、老年代和永久代/元空间)进行垃圾回收的过程。触发Full GC的情况有多种,以下是一些常见的触发条件: 1. 老年代空间不足 当老年代没有足够的空间...
面试题:Java 线程池中 shutdown 与 shutdownNow 的区别是什么?
在 Java 的 ExecutorService 接口中,shutdown() 和 shutdownNow() 都是用来关闭线程池的方法,但它们的行为和效果有所不同。理解两者之间的差异对于正确管理线程池的生命周期至关重要。 shutdo...
面试题:说说你对 JSON 的理解?
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于 JavaScript 的一个子集,但作为一种独立于语言的文本格式,被广泛用于系统间的数据传输和存储。 1. 基本语法与结构 JSO...
面试题:Java 方法重载和方法重写之间的区别是什么?
在 Java 中,方法重载(Overloading)和方法重写(Overriding)是两种不同的机制,它们用于在类的设计中实现多态性。尽管两者都涉及方法的定义,但它们的目的、实现方式以及应用场景都有所不同...
面试题:Java 中的 synchronized 轻量级锁是否会进行自旋?
在 Java 中,synchronized 的实现涉及到几种不同的锁状态,包括无锁状态、偏向锁、轻量级锁和重量级锁。这些状态之间的转换是根据运行时的并发情况动态调整的。 对于轻量级锁来说,它并不直接涉...
面试题:Redis Cluster 模式与 Sentinel 模式的区别是什么?
Redis 的 Sentinel 模式 和 Cluster 模式 是两种不同的高可用(HA)解决方案,它们在架构设计、功能特性和适用场景上有显著区别。以下是两者的详细对比: 1. 核心功能与目...
面试题:v-on 在 Vue 中可以绑定多个方法吗?
是的,v-on 在 Vue 中可以绑定多个方法。Vue 提供了多种方式来实现这一需求。 🎯 方式一:对象语法(最常用) 基本用法 <template> <button v-on='{ click: handleClick, mouseenter: han...
面试题:如何计算 CSS 的优先级?
CSS 优先级(Specificity)是浏览器用来决定当多个规则作用于同一个元素时,哪个样式生效的机制。理解优先级对于解决样式冲突至关重要。 一、优先级计算规则 CSS 优先级由四部分组成,通常表示...
面试题:什么是 Java 的多态特性?
Java 的多态特性是面向对象编程(OOP)中的一个核心概念,它允许一个接口或父类类型的引用指向其不同的子类实例,并根据实际的对象类型调用相应的方法实现。多态性提高了代码的灵活性和可扩展性...










