java共193篇

面试题:什么是协程?Java 支持协程吗?

什么是协程? 协程(Coroutine) 是一种用户态的轻量级线程,它允许在特定的地方暂停执行并在稍后恢复执行。 与传统的线程相比,协程的切换由程序本身控制,而不是由操作系统内核管理。 这使得...
程序百科的头像-程序百科程序百科1个月前
365

面试题:当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗?

当一个 Java 对象的锁通过 synchronized 升级到重量级锁之后,即使所有线程都释放了这个锁,该对象的锁仍然保持为重量级锁的状态。 这是因为锁膨胀(Lock Escalation)在 JVM 中是单向的,一旦...
程序百科的头像-程序百科程序百科1个月前
365

面试题:为什么 Netty 不使用 ThreadLocal 而是自定义了一个 FastThreadLocal ?

Netty 使用 FastThreadLocal 而不是标准的 Java ThreadLocal,主要是为了提高性能和优化内存使用。 虽然 ThreadLocal 提供了线程本地存储的能力,允许每个线程拥有其变量的一个独立初始化的副本...
程序百科的头像-程序百科程序百科1个月前
368

面试题:Java 中 hashCode 和 equals 方法是什么?它们与 == 操作符有什么区别?

在 Java 中,hashCode() 和 equals() 方法是 Object 类中的两个重要方法,它们用于定义对象的相等性和哈希值。与此同时,== 操作符用于比较两个变量是否指向同一...
程序百科的头像-程序百科程序百科1个月前
355

面试题:Java 并发库中提供了哪些线程池实现?它们有什么区别?

Java 并发库(java.util.concurrent 包)提供了多种线程池实现,这些实现通过 Executors 工厂类提供便捷的创建方法。以下是几种常见的线程池类型及其特点和适用场景: 1. FixedThreadPool 创建...
程序百科的头像-程序百科程序百科1个月前
358

面试题:什么是 Java 的 CyclicBarrier?

Java 中的 CyclicBarrier(循环屏障)是 java.util.concurrent 包提供的一个同步工具类,用于协调多个线程在某个“屏障点”(Barrier Point)等待彼此,直到所有线程都到达后再一起继续执行。它...
程序百科的头像-程序百科程序百科1个月前
3515

面试题:Java 中的强引用、软引用、弱引用和虚引用分别是什么?

在Java中,引用类型主要包括强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)。每种引用类型都有其特定的用途和应用场景,下面...
程序百科的头像-程序百科程序百科1个月前
3515

面试题:Java 中 Thread.sleep(0) 的作用是什么?

在Java中,Thread.sleep(0) 的使用实际上是为了让当前线程放弃剩余的时间片,并允许具有相同优先级的其他线程有机会运行。这被称为“线程礼让”,尽管它并不能保证这些其他线程会立即执行,因为...
程序百科的头像-程序百科程序百科1个月前
358

面试题:什么是 Java 中的 logging write barrier?

在Java中讨论的“write barrier”通常与垃圾回收(Garbage Collection, GC)机制相关,而不是直接与日志记录(logging)有关。一个write barrier是JVM为了支持某些类型的垃圾收集算法而实现的一...
程序百科的头像-程序百科程序百科1个月前
359

面试题:Java 中的 young GC、old GC、full GC 和 mixed GC 的区别是什么?

在Java的垃圾回收机制中,young GC、old GC、full GC和mixed GC分别指不同的垃圾收集过程,它们针对堆内存的不同区域,并且有不同的触发条件和目标。以下是这些术语的具体含义及其区别: Young ...
程序百科的头像-程序百科程序百科1个月前
359