面试题:你使用过 Java 中的哪些原子类?
在 Java 中,原子类(Atomic Classes) 是 java.util.concurrent.atomic 包下的一组类,它们基于 CAS(Compare-And-Swap) 实现了线程安全的原子操作,避免了使用 synchronized 锁带来的性能开...
面试题:你了解 Java 的 ZGC(Z Garbage Collector)吗?
ZGC,全称Z Garbage Collector,是自Java 11引入的一种可扩展的低延迟垃圾收集器。它的设计目标主要是为了满足大堆内存(多TB级别)的需求,同时保持非常低的停顿时间(通常在几毫秒内),从而...
面试题:JVM 方法区是否会出现内存溢出?
是的,JVM的方法区也可能会出现内存溢出的情况。方法区主要用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码缓存等数据。 在不同的JVM实现和版本中,方法区的具体实现...
面试题:在 MySQL 中,你使用过哪些函数?
作为开发者,我在 MySQL 中经常使用以下各类函数: 一、字符串函数 基础处理函数: CONCAT(str1, str2,...) - 字符串连接 SUBSTRING(str, pos, len) - 提取子串 TRIM([BOTH|LEADING|TRAILING]...
面试题:MySQL 中长事务可能会导致哪些问题?
在 MySQL 中,长事务(长时间运行的事务)可能会对数据库性能、稳定性和一致性造成多方面的影响。以下是长事务可能导致的主要问题及解决方案: 1. 锁等待和死锁 问题: 锁资源占用:长事务会长...
面试题:Redis 主从复制的常见拓扑结构有哪些?
Redis 主从复制的常见拓扑结构主要有以下三种,每种结构适用于不同的业务场景,具有独特的优缺点: 1. 一主一从结构 描述:最简单的主从结构,一个主节点(Master)对应一个从节点(Slave)。主...
面试题:Redis 中常见的数据类型有哪些?
Redis 支持多种数据类型,每种数据类型都针对特定的使用场景进行了优化。以下是 Redis 中常见的数据类型及其简要介绍: String(字符串) 最基础的数据类型,可用于存储文本或二进制数据。 支持...
面试题:Java 和 Go 的区别
Java和Go是两种非常不同的编程语言,它们各自有着独特的设计目标、应用场景及特性。以下是这两种语言之间的一些主要区别: 1. 设计哲学 Java:面向对象编程语言,强调“编写一次,到处运行”。J...
面试题:你使用过 Java 的反射机制吗?如何应用反射?
Java的反射机制提供了一种在运行时动态获取类信息以及动态调用对象方法的能力。通过反射,你可以在程序运行时检查或“反射”自身,并操纵内部属性和方法。以下是关于如何使用Java反射机制的一些...
面试题:为什么 JDK 1.8 对 HashMap 进行了红黑树的改动?
JDK 1.8 对 HashMap 引入红黑树的主要目的是优化极端情况下哈希冲突导致的性能问题,通过将链表转换为红黑树,将最坏情况下的时间复杂度从 O(n) 降低到 O(log n),从而显著提升性能。以下是详细...