java共193篇

面试题:说说 Java 中 HashMap 的原理?

Java 中的 HashMap 是一种基于哈希表实现的键值对(key-value)映射结构,它允许我们快速地根据键来存储和检索值。下面详细介绍 HashMap 的工作原理: 1. 基本概念 哈希表:HashMap 内部使用数...
程序百科的头像-程序百科程序百科6个月前
3814

面试题:Java 中的 synchronized 轻量级锁是否会进行自旋?

在 Java 中,synchronized 的实现涉及到几种不同的锁状态,包括无锁状态、偏向锁、轻量级锁和重量级锁。这些状态之间的转换是根据运行时的并发情况动态调整的。 对于轻量级锁来说,它并不直接涉...
程序百科的头像-程序百科程序百科6个月前
3811

面试题:说说 Java 的执行流程?

好的,我们来详细说说 Java 程序的执行流程。Java 程序的执行流程可以概括为以下几个关键步骤: 1. 编写源代码 (Writing Source Code) 操作:开发者使用文本编辑器或集成开发环境(IDE)编写 Ja...
程序百科的头像-程序百科程序百科6个月前
327

面试题:JIT 编译后的代码存在哪?

JIT(Just-In-Time,即时编译)编译后的代码(即本地机器码)主要存储在 Java 虚拟机(JVM)的 Code Cache(代码缓存区) 中。 以下是更详细的解释: Code Cache(代码缓存区): 这是 JVM 堆外...
程序百科的头像-程序百科程序百科6个月前
547

面试题:什么是 Java 的 Integer 缓存池?

Java中的Integer缓存池是指在JVM启动时预先创建的一系列Integer对象,这些对象代表了一定范围内的整数值。这一机制是为了提高性能和减少内存使用而设计的。具体来说,在Integer类中有一个名为In...
程序百科的头像-程序百科程序百科6个月前
4511

面试题:Java 中 ConcurrentHashMap 的 get 方法是否需要加锁?

在 Java 的 ConcurrentHashMap 中,get 方法的设计旨在保证高效的并发读操作。为了实现这一目标,get 方法在大多数情况下是不需要加锁的。这是通过使用一种称为“无锁算法”的机制来实现的,这...
程序百科的头像-程序百科程序百科6个月前
276

面试题:什么是 Java 的 TransmittableThreadLocal?

TransmittableThreadLocal 是阿里巴巴开源的 transmittable-thread-local 库中提供的一个类,它扩展了 Java 标准库中的 InheritableThreadLocal,旨在解决在使用线程池等会复用线程的技术时,父...
程序百科的头像-程序百科程序百科6个月前
448

面试题:什么是 Java 的 CompletableFuture?

CompletableFuture 是 Java 8 引入的一个类,位于 java.util.concurrent 包中,它是对 Future 接口的扩展和增强。CompletableFuture 提供了一种更加灵活且强大的方式来处理异步编程任务,允许你...
程序百科的头像-程序百科程序百科6个月前
5615

面试题:Java G1 相对于 CMS 有哪些进步的地方?

G1(Garbage First)垃圾收集器相较于CMS(Concurrent Mark-Sweep)在多个方面有所改进和进步,主要包括以下几个关键点: 1. 可预测的停顿时间 G1:设计目标之一是提供可预测的停顿时间。通过设...
程序百科的头像-程序百科程序百科6个月前
5011

面试题:Java 是如何实现跨平台的?

Java实现跨平台的关键在于其“编写一次,到处运行”(Write Once, Run Anywhere)的设计理念。这一特性主要依赖于以下几个核心技术点: 1. Java虚拟机(JVM) 字节码与JVM:Java源代码首先被编...
程序百科的头像-程序百科程序百科6个月前
329