• ConcurrentHashMap源码分析

    预备知识安全失败(fail safe)和快速失败(fail quick)快速失败现象:在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了增加、删除、修改操作,则会抛出ConcurrentModificationException。原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集合在被遍历期间如果内容发生变化,就会改变modCount的值。每当迭代器使用hashNext()/next()遍历下一个元素之前,都会检测modCount变量是否为expe...
  • 线程安全缓存的实现

    我在我们的一个应用程序中发现了以下代码,并且似乎有许多有关多线程访问的流程。 public class DCache { private enum MAP_TYPE { GREEN, RED, //some more } private static final int MAP_LIFE_TIME = 10 * 60 * 1000; private Map<MAP_TYPE, Long> accesstimes = new HashMap<>(); ...
公告

欢迎访问 goshare  点击这里设置您的邮箱  可以接收站内跟帖、回复邮件提醒,不错过任何一条消息。

关注公众号订阅更多技术干货! 码农俱乐部