能不能比较一下 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开始实际用的内存模型不算松吧。
|
相关讨论
相关资源推荐
- 如何成为一名黑客 Eric S. Raymond
- 提问的智慧 - Eric Steven Raymond
- Eric S. Raymond 五部曲 之 《Hacker 文化简史》
- jvm详解
- linux下epoll网络编程模型,05_网络编程之多路复用器以及 epoll 模型精讲
- 从头开始学Java——JVM虚拟机八问
- 3万字长文概述:通俗易懂告诉你什么是.NET?什么是.NET Framework?什么是.NET Core?
- 五十六、JAVA和C++谁快
- 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?
- 什么是.NET?什么是.NET Framework?什么是.NET Core?