模型服务连接失败
并发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 并发
Java 并发并发JavaJava 并发

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(并发).md

knowledge_note
Question 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 规则保证。