我看到它总是被称为Java-Memory-Model,但到目前为止,我本能地认为它适用于整个JVM生态系统。
它是否只适用于Java创建的应用程序,或者任何与JVM兼容的字节码可执行文件也可以从它的保证中受益?
我通过“内存模型”查找了JVM规范,但找不到太多关于它的信息。另一方面,java规范详细地描述了它,给我的印象是内存模型是特定于Java的。
谢谢
发布于 2013-10-26 23:49:03
从技术上讲,Java内存模型仅以Java为目标,并引用Java构造(同步、易失、最终...)。但是JMM的实施是通过特定的字节码指令委托给JVM的。
例如,同步块转换为monitorenter / monitorexit字节码指令。
因此,理论上,任何与JVM兼容的语言都可以定义特定的内存模型(只要它可以基于JMM进行描述),并生成适当的字节码。
在实践中,有一些直接的等价物,比如Scala的@volatile或Clojure的volatile-mutable。
https://stackoverflow.com/questions/19607391
复制相似问题