加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – CLR执行“锁定精灵”优化?如果不是为什么不呢?

发布时间:2020-12-14 05:30:31 所属栏目:Java 来源:网络整理
导读:JVM执行一个称为锁定精灵的整洁技巧,以避免锁定只能在一个线程上可见的对象的成本. 这里有一个很好的描述: http://www.ibm.com/developerworks/java/library/j-jtp10185/ .Net CLR是否做类似的事情?如果不是,那为什么不呢? 解决方法 很整洁,但有用吗?我
JVM执行一个称为锁定精灵的整洁技巧,以避免锁定只能在一个线程上可见的对象的成本.

这里有一个很好的描述:

http://www.ibm.com/developerworks/java/library/j-jtp10185/

.Net CLR是否做类似的事情?如果不是,那为什么不呢?

解决方法

很整洁,但有用吗?我很难想出一个示例,编译器可以证明锁是线程本地的.几乎所有的类都不使用锁定默认情况下,当你选择一个锁定,那么在大多数情况下,它会引用一些静态变量来代替编译器优化.

另一件事是,java vm在其证明中使用逃逸分析.而AFAIK .net尚未实施逃逸分析.逃逸分析的其他用途,例如用堆栈分配替换堆分配,听起来更有用,应该首先实现.

IMO目前不值得编码工作. .net VM中有很多方面没有优化,影响更大.

SSE向量指令和委托内联是两个示例,我的代码可以从这个优化中获益匪浅.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读