面试题:Java 中 Thread.sleep(0) 的作用是什么?
在Java中,Thread.sleep(0) 的使用实际上是为了让当前线程放弃剩余的时间片,并允许具有相同优先级的其他线程有机会运行。这被称为“线程礼让”,尽管它并不能保证这些其他线程会立即执行,因为...
面试题:什么是 Java 中的 logging write barrier?
在Java中讨论的“write barrier”通常与垃圾回收(Garbage Collection, GC)机制相关,而不是直接与日志记录(logging)有关。一个write barrier是JVM为了支持某些类型的垃圾收集算法而实现的一...
面试题:说说 Java 中 HashMap 的原理?
Java 中的 HashMap 是一种基于哈希表实现的键值对(key-value)映射结构,它允许我们快速地根据键来存储和检索值。下面详细介绍 HashMap 的工作原理: 1. 基本概念 哈希表:HashMap 内部使用数...
面试题: ConcurrentHashMap 和 Hashtable 的区别是什么?
ConcurrentHashMap 和 Hashtable 都是 Java 中线程安全的哈希表实现,但它们在实现机制、性能以及使用场景方面存在显著差异。以下是它们的主要区别: 1. 实现方式和锁粒度 Hasht...
面试题:CSS 中 display 属性的值及其作用
display 是 CSS 中最核心、最常用的属性之一,它决定了元素的布局类型和在文档流中的表现形式。理解 display 的各种取值是掌握网页布局的基础。 一、主要取值分类 display 属性的值可以分为几大...
面试题:Synchronized 修饰静态方法和修饰普通方法有什么区别?
在 Java 中,synchronized 关键字可以用来修饰实例方法、静态方法或者代码块。当它用于修饰静态方法和普通(实例)方法时,存在一些重要的区别,主要体现在锁的对象以及锁定的范围上。 锁定对象...
面试题:为什么 Netty 不使用 ThreadLocal 而是自定义了一个 FastThreadLocal ?
Netty 使用 FastThreadLocal 而不是标准的 Java ThreadLocal,主要是为了提高性能和优化内存使用。 虽然 ThreadLocal 提供了线程本地存储的能力,允许每个线程拥有其变量的一个独立初始化的副本...
面试题:MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么?
MySQL中的InnoDB和MyISAM是两种常用的存储引擎,它们各自具有不同的特点和适用场景。以下是这两种存储引擎的主要区别: 事务支持 InnoDB:支持事务处理(ACID兼容),提供提交、回滚和崩溃恢复...
面试题:React 的事件与普通 HTML 事件有什么区别?
React 的事件系统与原生 HTML 事件系统在使用上相似,但存在几个关键区别,主要体现在事件处理机制、事件对象和事件绑定方式上。 以下是两者的主要区别: 1. 事件命名规范不同 HTML 原生事件:...
面试题:什么是 AJAX?如何实现一个 AJAX 请求?
什么是 AJAX? AJAX(Asynchronous JavaScript and XML)不是一种单一的技术,而是一种编程范式或技术组合。它指的是使用一组 Web 技术(主要是 JavaScript 和 XMLHttpRequest 对象)在不重新加...










