首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java内存模型是Java范围的,还是实际上是JVM范围的?

Java内存模型是Java范围的,还是实际上是JVM范围的?
EN

Stack Overflow用户
提问于 2013-10-26 21:39:16
回答 1查看 166关注 0票数 4

我看到它总是被称为Java-Memory-Model,但到目前为止,我本能地认为它适用于整个JVM生态系统。

它是否只适用于Java创建的应用程序,或者任何与JVM兼容的字节码可执行文件也可以从它的保证中受益?

我通过“内存模型”查找了JVM规范,但找不到太多关于它的信息。另一方面,java规范详细地描述了它,给我的印象是内存模型是特定于Java的。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-10-26 23:49:03

从技术上讲,Java内存模型仅以Java为目标,并引用Java构造(同步、易失、最终...)。但是JMM的实施是通过特定的字节码指令委托给JVM的。

例如,同步块转换为monitorenter / monitorexit字节码指令。

因此,理论上,任何与JVM兼容的语言都可以定义特定的内存模型(只要它可以基于JMM进行描述),并生成适当的字节码。

在实践中,有一些直接的等价物,比如Scala的@volatile或Clojure的volatile-mutable

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19607391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档