面试题:Java 中 volatile 关键字的作用是什么?
volatile 是 Java 中的一个关键字,用于声明变量可以在程序的其他部分被修改,尤其是在多线程环境下。它的主要作用是保证变量的可见性和禁止指令重排序优化,但不会提供原子性操作。下面详细解...
面试题:你了解时间轮(Time Wheel)吗?有哪些应用场景?
时间轮(Time Wheel)概述 时间轮是一种用于处理定时任务的高效数据结构,常被应用于需要大量定时器的场景中。 它模仿了时钟的工作原理,通过一个循环队列来存储定时任务,并以固定的时间间隔向...
面试题:MySQL 中的回表是什么?
MySQL 中的回表是什么? 核心概念 回表 是 MySQL 中一种与索引查询相关的性能现象,通常发生在使用 二级索引(非聚簇索引) 进行查询时。 定义:当通过二级索引查询数据时,由于...
面试题:Redis String 类型的底层实现是什么?(SDS)
Redis 中的 String 类型是其最基本的数据结构之一,而它的底层实现依赖于一种名为 简单动态字符串(Simple Dynamic String, SDS) 的数据结构。 SDS 是 Redis 自行设计并广泛应用于其内部的一...
面试题:iframe 有哪些优点和缺点?
<iframe>(Inline Frame,内联框架)是 HTML 中的一个标签,用于在当前网页中嵌入另一个独立的 HTML 页面。它就像一个“窗口”,可以显示来自同一域名或不同域名的其他网页内容。正确使用...
面试题:Redis 主从复制的常见拓扑结构有哪些?
Redis 主从复制的常见拓扑结构主要有以下三种,每种结构适用于不同的业务场景,具有独特的优缺点: 1. 一主一从结构 描述:最简单的主从结构,一个主节点(Master)对应一个从节点(Slave)。主...
面试题:什么是 Java 的 Timer?
在 Java 中,Timer 是一个用于调度未来某个时间点执行一次或周期性执行任务的工具类。它位于 java.util 包中,通过创建一个后台线程来执行计划的任务。 尽管 Timer 类提供了一种相对简单的方式...
面试题:MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
在 MySQL 中,COUNT(*)、COUNT(1) 和 COUNT(字段名) 都是用于计算行数的聚合函数,但它们之间有一些细微的区别: 1. COUNT(*) 作用:计算表中所有行的数量,包括含有 NULL 值的行。 性能:MySQL...
面试题:JVM 的内存区域是如何划分的?
VM(Java虚拟机)的内存区域主要划分为以下几个部分,每个部分都有其特定的用途和生命周期: 程序计数器(Program Counter Register): 每个线程都有一个独立的程序计数器,用于记录当前线程执...
面试题:Java 中的注解原理是什么?
Java 中的注解(Annotation)是一种元数据(Metadata),它通过标记代码元素(类、方法、字段等)来提供额外的信息,这些信息可以被编译器、框架或运行时工具解析和处理。以下是注解原理的详细...