面试题:为什么 Netty 不使用 ThreadLocal 而是自定义了一个 FastThreadLocal ?
Netty 使用 FastThreadLocal 而不是标准的 Java ThreadLocal,主要是为了提高性能和优化内存使用。 虽然 ThreadLocal 提供了线程本地存储的能力,允许每个线程拥有其变量的一个独立初始化的副本...
面试题:MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么?
MySQL中的InnoDB和MyISAM是两种常用的存储引擎,它们各自具有不同的特点和适用场景。以下是这两种存储引擎的主要区别: 事务支持 InnoDB:支持事务处理(ACID兼容),提供提交、回滚和崩溃恢复...
面试题:CSS 中可继承与不可继承属性有哪些?
在 CSS 中,属性的继承(Inheritance) 是指子元素自动从父元素“继承”某些样式属性的机制。理解哪些属性可继承、哪些不可继承,对于高效编写 CSS 和避免样式混乱至关重要。 一、什么是继承? ...
面试题:== 操作符的强制类型转换规则是什么?
JavaScript 中的 == 操作符(相等操作符)在比较两个值时,会进行隐式类型转换(也称为强制类型转换),以使两边的类型相同后再进行比较。这种机制虽然提供了灵活性,但也容易导致难以预料的结...
面试题:display:inline-block 什么时候会显示间隙?
display: inline-block 元素之间出现空白间隙是一个经典的 CSS 布局问题。这个间隙并非由 margin 引起,而是由于 HTML 中的空白字符(空格、换行、制表符)在渲染时被当作“空白符”处理所导致...
面试题:你了解时间轮(Time Wheel)吗?有哪些应用场景?
时间轮(Time Wheel)概述 时间轮是一种用于处理定时任务的高效数据结构,常被应用于需要大量定时器的场景中。 它模仿了时钟的工作原理,通过一个循环队列来存储定时任务,并以固定的时间间隔向...
面试题:如何判断网页元素是否到达可视区域?
这是一个非常实用的前端面试题,常用于实现懒加载、无限滚动、埋点曝光等场景。判断元素是否进入可视区域有多种方法,从简单到高级逐步演进。 ✅ 方法一:使用 getBoundingClientRect()(兼容性...
面试题:Java 中 Thread.sleep(0) 的作用是什么?
在Java中,Thread.sleep(0) 的使用实际上是为了让当前线程放弃剩余的时间片,并允许具有相同优先级的其他线程有机会运行。这被称为“线程礼让”,尽管它并不能保证这些其他线程会立即执行,因为...
面试题:什么情况下会触发 Java 的 Full GC?
在Java中,Full GC指的是对整个堆(包括年轻代、老年代和永久代/元空间)进行垃圾回收的过程。触发Full GC的情况有多种,以下是一些常见的触发条件: 1. 老年代空间不足 当老年代没有足够的空间...
面试题:Java 中 HashMap 的扩容机制是怎样的?
在 Java 中,HashMap 的扩容机制是为了在键值对数量增加时,动态调整数组容量以减少哈希冲突并保持高效的查询和插入性能。以下是其核心原理和流程的详细解析: 1. 扩容触发条件 当 Ha...









