面试题:Java G1 相对于 CMS 有哪些进步的地方?
G1(Garbage First)垃圾收集器相较于CMS(Concurrent Mark-Sweep)在多个方面有所改进和进步,主要包括以下几个关键点: 1. 可预测的停顿时间 G1:设计目标之一是提供可预测的停顿时间。通过设...
面试题:什么是 Java 的 StampedLock?
StampedLock 是 Java 8 引入的一种锁机制,位于 java.util.concurrent.locks 包中。 它提供了一种比传统的读写锁(如 ReentrantReadWriteLock)更灵活和高效的替代方案,特别适用于读操作远多于...
面试题:MySQL 中的数据排序是怎么实现的?
MySQL 中的数据排序主要通过 排序算法 和 索引的有序性 实现,具体逻辑与存储引擎(如 InnoDB)、查询语句、数据量密切相关。以下是其核心实现原理和流程: 一、核心逻辑:...
面试题:如果一个线程在 Java 中被两次调用 start() 方法,会发生什么?
直接答案 会抛出 IllegalThreadStateException 异常。在 Java 中,一个线程对象只能被启动(start)一次,重复调用 start() 方法是非法操作。 详细解释 1. 线程生命周期状态 线程在被...
面试题:Redis 事务与关系型数据库事务的主要区别是什么?
Redis 和关系型数据库(如 MySQL、PostgreSQL 等)在事务处理机制上存在显著差异,这些差异主要体现在事务的隔离性、原子性以及实现方式等方面。以下是 Redis 事务与关系型数据库事务的主要区别...
面试题:ThreadLocal 的缺点?
尽管 ThreadLocal 提供了线程本地存储的能力,使得每个线程可以拥有变量的一个独立初始化的副本,但它也存在一些缺点和潜在的问题: 1. 内存泄漏风险 类加载器相关的内存泄漏:如果 ThreadLocal...
面试题:HTML5 相比于 HTML 有哪些更新?
HTML5 是对传统 HTML(主要指 HTML 4.01 和 XHTML 1.0)的一次重大革新,它不仅仅是一些新标签的增加,更是一个旨在构建更强大、更语义化、更富交互性的 Web 应用的完整框架。以下是 HTML5 相比...
面试题:说说 AQS 吧?
当然可以,AQS(AbstractQueuedSynchronizer) 是 Java 并发包 java.util.concurrent(简称 JUC)中非常核心的一个抽象类,是构建各种同步器(如 ReentrantLock、Semaphore、CountDownLatch、Re...
面试题:Redis 中的 Ziplist 和 Quicklist 数据结构的特点是什么?
在 Redis 中,ziplist 和 quicklist 是用于实现某些数据结构(如列表和哈希表)的底层存储机制。它们各自具有独特的特点和适用场景。 Ziplist Ziplist 是一种紧凑的数据结...
面试题:Redis 和 Memcached 有哪些区别?
Redis 和 Memcached 都是高性能的内存键值存储系统,但它们在功能、性能和使用场景上存在一些关键差异。以下是它们的主要区别: 一、数据类型支持 Redis:支持多种数据结构,包括字符串(String...