能不能比较一下 JVM 和 CLR 的内存模型, 各有啥优缺点呢?

xiaoyu 2012-09-02
对于JAVA 模型比较清楚的是JSR 133.

但是发现外面很少人讨论.net的内存模型和多线程关系。 (好吧最重要的是, 某天,有一个人告诉我 JVM 1.6+的内存模型开始抄CLR的了。。 我都没有找到其他相关资料。)
RednaxelaFX 2012-09-12
那先读读老文吧:

http://blogs.msdn.com/b/cbrumme/archive/2003/05/17/51445.aspx
http://www.bluebytesoftware.com/blog/2008/06/13/VolatileReadsAndWritesAndTimeliness.aspx
http://blogs.msdn.com/b/jaredpar/archive/2008/01/17/clr-memory-model.aspx

里面的链接也要点开来读。

简单来说提交给ECMA的CLI规范里的内存模型太松了,没比JVM老规范好多少。后来CLR 2实际使用的内存模型比CLI规范里的要严格一些。
而Java SE 5开始使用的新内存模型也不是抄CLR的。Java SE 5和CLR 2是差不多时间出来的。
xiaoyu 2012-09-12
RednaxelaFX 写道
那先读读老文吧:

http://blogs.msdn.com/b/cbrumme/archive/2003/05/17/51445.aspx
http://www.bluebytesoftware.com/blog/2008/06/13/VolatileReadsAndWritesAndTimeliness.aspx
http://blogs.msdn.com/b/jaredpar/archive/2008/01/17/clr-memory-model.aspx

里面的链接也要点开来读。

简单来说提交给ECMA的CLI规范里的内存模型太松了,没比JVM老规范好多少。后来CLR 2实际使用的内存模型比CLI规范里的要严格一些。
而Java SE 5开始使用的新内存模型也不是抄CLR的。Java SE 5和CLR 2是差不多时间出来的。


恩 之前在微博上看了你推荐的这些文章. 觉得CLR 的内存模型的确松散.   感觉不如JVM规范(JSR133) (CLR 2 还有在看..) 再次感谢.
RednaxelaFX 2012-09-12
CLI和CLR要区分清楚。前者是规范,后者是前者的一种实现。CLRv2开始实际用的内存模型不算松吧。
Global site tag (gtag.js) - Google Analytics