并发JavaJava 并发锁
- 分类
- Java 并发
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/28 21:25
答案
Java提出了内存模型JMM,定义了一些从java源代码到可执行的机器指令这个转化过程中必须遵守的原则,比如happens-before,并且提供了像synchronized,volatile,final这些关键字,来解决并发问题。对于并发的几个问题,比如原子性,Java保证了一些基本操作的原子性,比如读取和赋值,对于更大范围的原子性可以使用synchronized或lock锁来实现。还有就是可见性,java使用volatile关键字来保证可见性。有序性的话,java使用volatile,插入内存屏障来禁止指令重排序,保证有序性。还有happens-before原则也用来保证有序性。
相关题目(5)
Java 并发并发JavaJava 并发锁
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
有哪些支持并发的集合?共源 1
Java 并发并发JavaJava 并发
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(并发).md
knowledge_noteQuestion 7: Java 是怎么解决并发问题的?
Source answer: Java提出了内存模型JMM,定义了一些从java源代码到可执行的机器指令这个转化过程中必须遵守的原则,比如happens-before,并且提供了像synchronized,volatile,final这些关键字,来解决并发问题。对于并发的几个问题,比如原子性,Java保证了一些基本操作的原子性,比如读取和赋值,对于更大范围的原子性可以使用synchronized或lock锁来实现。还有就是可见性,java使用volatile关键字来保证可见性。有序性的话,java使用volatile,插入内存屏障来禁止指令重排序,保证有序性。还有happens-before原则也用来保证有序性。
Reviewed answer: Java 通过 JMM 约束多线程下的内存可见性、有序性与原子性问题,并提供 synchronized、volatile、final、Lock 等机制。原子性可借助 synchronized 或 Lock,可见性常用 volatile,有序性通过 volatile、内存屏障和 happens-before 规则保证。