当前位置: 首页 > news >正文

考试源码网站wordpress网站推广怎么推广

考试源码网站wordpress,网站推广怎么推广,上海网站商城建设公司,wordpress 淘宝客当您查看最受欢迎的Java面试问题时#xff0c;可能会遇到有关快速故障和故障安全迭代器的问题#xff1a; 故障快速迭代器和故障安全迭代器之间有什么区别#xff1f; 简化的答案是#xff1a; 如果在迭代过程中修改了集合#xff0c;则快速失败迭代器将引发ConcurrentM… 当您查看最受欢迎的Java面试问题时可能会遇到有关快速故障和故障安全迭代器的问题 故障快速迭代器和故障安全迭代器之间有什么区别 简化的答案是 如果在迭代过程中修改了集合则快速失败迭代器将引发ConcurrentModificationException 但不会失败保护。 尽管这完全有道理但不清楚访调员的故障安全含义。 对于迭代器Java规范未定义此术语。 但是有四种同时进行修改的策略。 并发修改 首先让我们定义什么是并发修改。 例如当我们有一个来自集合的活动迭代器并且对该集合进行了一些更改但它们不是来自我们的迭代器时会发生并发修改。 最明显的例子是当我们有多个线程时–一个线程正在迭代第二个线程在同一集合中添加或删除元素。 但是当我们在单线程环境中工作时我们也可以获取ConcurrentModificationException ListString cities new ArrayList(); cities.add(“Warsaw”); cities.add(“Prague”); cities.add(“Budapest”);IteratorString cityIterator cities.iterator(); cityIterator.next(); cities.remove(1); cityIterator.next(); // throws ConcurrentModificationException不及格 上面的代码段是快速失败迭代器的示例。 如您所见一旦我们尝试从迭代器中获取第二个元素就会引发ConcurrentModificationException 。 迭代器如何知道创建集合后是否对其进行了修改 您可能在集合中有一个时间戳例如lastModified 。 创建迭代器时需要复制此字段并将其存储在迭代器对象中。 然后无论何时调用next()方法 lastModified需要将集合中的lastModified与迭代器中的副本进行比较。 例如可以在ArrayList实现中找到非常相似的方法。 有一个modCount实例变量其中包含对列表进行的修改次数 final void checkForComodification() {if (modCount ! expectedModCount)throw new ConcurrentModificationException(); } 值得一提的是快速失败迭代器是在尽力而为的基础上工作的-无法保证如果存在并发修改则会抛出ConcurrentModificationException 因此我们不应该依赖该行为-而是应将其用于检测错误。 大多数非并行集合都提供快速失败的迭代器。 弱一致性 java.util.concurrent包中的大多数并发集合例如ConcurrentHashMap和most Queues 都提供了弱一致性的迭代器。 文档中对它的含义进行了很好的解释 他们可能会与其他操作同时进行 他们永远不会抛出ConcurrentModificationException 它们被保证可以遍历在构造时已经存在的元素一次并且可以但不保证反映出构造后的任何修改。 快照 在此策略中迭代器从创建迭代器的那一刻起即与集合的状态相关联-我们的集合快照。 对初始集合所做的任何更改都会创建基础数据结构的新版本。 当然我们的快照是不变的因此它不反映在创建迭代器之后对集合所做的任何更改。 这是一种古老的好的写时复制COW技术。 它完全解决了并发修改问题因此不会引发ConcurrentModificationException 。 此外迭代器不支持元素更改操作。 写入时复制集合通常使用起来过于昂贵但是如果突变发生的次数显着减少遍历次数较少尝试一下可能是个好主意。 示例为CopyOnWriteArrayList和CopyOnWriteArraySet 。 未定义 未定义的行为可以在传统集合中找到例如Vector和Hashtables 。 它们都具有具有快速失败行为的标准迭代器但是它们还公开了Enumeration接口的实现该接口在定义并发修改时不定义行为。 您可能会看到某些项目被重复或跳过甚至出现一些奇怪的异常。 最好不要玩这个野兽 翻译自: https://www.javacodegeeks.com/2017/11/tale-two-iterators.html
http://www.pierceye.com/news/139902/

相关文章:

  • 乌苏市城乡建设局网站外贸网网站建设
  • html5网站开发实例书籍凡科建站代理
  • 与建设部网站网站注册登录页面设计
  • 企业网站推广计划免费最新如何建设网站教程视频
  • 17一起做网站普宁站好看个人网页模板
  • 民治营销网站专业网站建设价格最优
  • 免费的html网站做柜子喜欢上哪些网站看
  • 网站没备案怎么做加速现代装修风格三室两厅效果图
  • 互助平台网站建设网上商城怎么购物
  • 百度知道山东网站建设建设网站成本预算
  • 人人做免费网站网站建站是 什么
  • 以背景做网站视频为单位网站建设实施方案
  • 简洁大气企业网站模板西安个人做网站
  • 做一个网站需要到哪里做辽宁同鑫建设网站
  • 开发网站监控推荐扬中市建设局网站
  • 手机网站根目录简述一个网站设计的主要步骤
  • 网站改版seo建议网页设计师的能力
  • 网站上线前应该备案吗温州网站建设风格
  • 网站建设书籍免费聊城市东昌府区建设路小学网站
  • 网站标题优化怎么做找人一起做素材网站
  • 如何创建个人网站模板用织梦做模板网站
  • 平台建站建设做网站一定要有营业执照吗
  • 如何把学校网站建设好天猫店铺购买
  • 网站的建设和推广企业网站建设的主要目的是
  • html5 公众号 网站开发工程公司名称
  • 公司做网站那家好网站二维码怎么制作
  • 鼓楼区建设房产和交通局网站网站全屏图片怎么做
  • 外贸订单流失严重番禺网站建设优化推广
  • 做网站送邮箱电商网站建设行情
  • f2c网站建设珠海手机网站建设费用