面试题:为什么 JDK 9 中将 String 的 char 数组改为 byte 数组?
在JDK 9中,String的内部表示从使用char[]数组改为使用byte[]数组,这一改变主要是为了优化内存使用和提高性能。 具体来说,之前的String实现使用的是char[]数组,每个字符占用2个字节(16位)...
面试题:什么是 Java 中的直接内存(堆外内存)?
在Java中,直接内存(也称为堆外内存)是指不位于JVM堆空间中的内存区域。它独立于Java堆之外,通常通过java.nio.ByteBuffer的allocateDirect方法或其他NIO工具类进行分配。直接内存允许数据存...
面试题:JavaScript 中 substring 和 substr 函数的区别是什么?
这是一个经典的 JavaScript 字符串操作面试题,考察对字符串截取方法的理解。 substring()、substr() 和 slice() 功能相似但有重要区别。 ✅ 核心区别总结 方法参数是否支持负数状态推荐度subst...
面试题:什么是 Java 的 Semaphore?
Java 中的 Semaphore 是 java.util.concurrent 包提供的一个资源访问控制工具类,用于限制同时访问的线程数量,从而实现对共享资源的并发控制。它是基于 AQS(AbstractQueuedSynchronizer) 实...
面试题:如何根据设计稿进行移动端适配?
移动端适配的核心目标是:让网页在不同尺寸和分辨率的移动设备上,都能呈现出与设计稿一致的视觉效果和用户体验。 以下是根据设计稿进行移动端适配的完整流程和常用方案: 一、准备工作:了解设...
面试题:const 对象的属性可以修改吗?
这是一个很好的面试题,答案是:可以,在大多数情况下。 const 关键字在 JavaScript 中的作用是创建一个常量引用,而不是创建一个不可变的值。这需要根据 const 声明的是什么类型的值来具体分析...
面试题:如何访问 Vue 子组件的实例或子元素?
在 Vue 中,有时需要从父组件直接访问子组件的实例或其内部的 DOM 元素。Vue 提供了 ref 特性来实现这一需求。 核心方法:使用 ref 在子组件或元素上定义 ref:在父组件的模板中,为要访问的子...
面试题:什么是 Java 的 SPI(Service Provider Interface)机制?
Java的SPI(Service Provider Interface)机制是一种服务发现机制,它提供了一种服务接口与具体实现解耦的方式,允许第三方为这些接口提供实现。简单来说,SPI是一种动态发现和加载服务提供者(...
面试题:MySQL 插入一条 SQL 语句,redo log 记录的是什么?
当 MySQL 执行一条插入(INSERT)SQL 语句时,redo log(重做日志)记录的是物理层面的页修改,而不是 SQL 语句本身。具体来说: 1. redo log 记录的内容 redo log 主要记录以下信息: 被修改的...
面试题:如何使用 Redis 快速实现排行榜?
在 Redis 中实现排行榜(Leaderboard)是一个常见的应用场景,得益于 Redis 的高效性和丰富的数据结构支持,特别是有序集合(Sorted Set),我们可以非常方便地创建和管理排行榜。下面将介绍如...











