240 发简信
  • 120
    ConcurrentHashMap源码分析(JDK8) 扩容实现机制

    jdk8中,采用多线程扩容。整个扩容过程,通过CAS设置sizeCtl,transferIndex等变量协调多个线程进行并发扩容。 扩容相关的属性 nextTable 扩容期...

  • 这里主要的原因在于源码中 putVal/computeIfAbsent/xxx操作跳出循环的条件是binCount != 0,而computeIfAbsent导致这个不可能为真,从而putVal/computeIfAbsent/xxx在for中无限循环

    ConcurrentHashMap的一个bug

    最近发现java 1.8的concurrentHashMap,在使用computeIfAbsent时,如果涉及修改map,则会产生bug。示例代码如下: 如果执行这段代码,你...

  • 120
    分布式一致性算法——Paxos原理与推导过程

    Paxos算法在分布式领域具有非常重要的地位。但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难。 网上有很多讲解Paxos算法的文章,但是质量参差不齐。...

  • 120
    Hbase技术详细学习笔记

    最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进行了Hbase...

  • 不太明白你想说明什么

    大学男生没钱应该谈恋爱吗?

    我是农村出来的孩子,独自去到南方上大学,因为上的是私立的二本院校,父母给的每月生活费有一千多,本来钱是足够用的可是自从谈了个女朋友后,每月向家里要的钱更加多了。 每天精打细...

  • 120
    缓存雪崩 & 缓存穿透

    缓存雪崩 & 缓存穿透 缓存流程 1.参数传入对象主键ID 2.根据key从缓存中获取对象 3.如果对象不为空,直接返回 4.如果对象为空,查询数据库 5.如果从数据库查询出...

个人介绍
Poverty stifle ambition