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

安全发布以及不可变与有效不可变的优势

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

安全发布以及不可变与有效不可变的优势

出于以下两个原因,需要设计不需要同步的对象:

  1. 对象的用户可能会忘记同步。
  2. 即使开销很小,同步也不是免费的,尤其是当您的对象不经常被许多不同的线程使用时。

由于上述原因非常重要,因此最好学习有时困难的规则,并以编写者的身份创建不需要同步的安全对象,而不是希望代码的所有用户都记住正确使用它。

还请记住,作者并不是说对象是不安全发布的,它是在没有同步的情况下安全发布的。

关于您的第二个问题,我刚刚检查了一下,而书中并未保证其他线程将始终看到对更新对象的引用,只是如果这样做,它将看到完整的对象。但是我可以想象,如果它是通过另一个(

Runnable
?)对象的构造函数发布的,那将是美好的。但这确实有助于解释所有情况。

编辑:

有效不可变和不可变有效不可变和不可变
之间的区别是,在第一种情况下,您仍然需要以安全的方式发布对象。对于真正的不可变对象,这是不需要的。因此,首选真正不变的对象,因为出于上述原因,它们更易于发布。



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

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

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