栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java监视器有多重?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java监视器有多重?

您已经为使用Java配备Monitors付出了(大部分且争夺性很低)的惩罚……没有理由不使用它们。特别是在低竞争的情况下,它们非常便宜(请参阅此处的项目2.1、2.2、2.3和此处的项目#1),JVM可以在许多情况下完全优化它们。如果仅暂时使用对象的监视器,则JVM将使其变得“足够大”(这意味着它以位翻转开始,对于简单的争用情况可能会扩展为堆栈分配的原子标志,并且在持久争用下为该对象分配了对象监视器它;所有这些将在争用减少时退回到低开销的情况),并在以后收回空间。就这些对象上的锁定而言,在应用程序方面是“正确的事情”,我会说。

但是,这里有设计气味。锁定这么多对象听起来并不好。此外,如果您有任何顺序锁定条件,您将无法推理潜在的死锁。我建议您用有关该应用程序的更多详细信息来补充您的问题,我们可以问一下锁定大型对象池是否正确。

此演示文稿由Dave骰子给出了一些有益的见解的Java6同步是如何工作的,这博客条目是同步的Java的信息宝库。如果您真的很在乎一个完整的对象监视器结构有多“大”(在有争议的情况下会起作用),请参见此处的代码。HotSpot内部Wiki页面也提供了一些很好的深入信息。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495036.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号