# Java 中 volatile 关键字的作用是什么?
7 min read
volatile 是 Java 提供的一种轻量级的同步机制,用于确保多线程环境下变量的可见性和禁止指令重排序,但不保证原子性。
volatile 是 Java 提供的一种轻量级的同步机制,用于确保多线程环境下变量的可见性和禁止指令重排序,但不保证原子性。
HashMap 的扩容机制是指当 HashMap 中存储的键值对数量超过当前容量与负载因子的乘积时,会创建一个容量为原来两倍的新数组,并将所有现有元素重新计算哈希并分配到新数组中的过程。
ConcurrentHashMap 是 Java 并发包中线程安全的哈希表实现,1.7 版本采用分段锁(Segment)机制保证并发安全,而 1.8 版本则改为基于 CAS + synchronized 的细粒度锁优化。
【核心定义】final 关键字本身不能保证变量的可见性,它仅保证引用或基本类型值的不可变性,但通过 JMM(Java 内存模型)的特殊规则,正确构造的 final 字段在对象初始化完成后对其他线程具有可见性。
Java 垃圾收集器是JVM内存管理系统的核心组件,负责自动回收不再使用的对象以释放内存,不同的收集器在吞吐量、延迟和内存占用之间有不同的权衡策略。
Java 中创建多线程的本质是让一个任务(Runnable 或 Callable)在独立的执行路径上并发运行,主要可通过继承 Thread 类、实现 Runnable 接口、实现 Callable 接口结合 ExecutorService 线程池,以及利用 CompletableFuture 这四种核心方式实现。