摘要:
最近本来想优化一个单查为批量查询,然后一顿侧滑之后,反而改了下别人策略的实现,具体的工厂方法实现如下: 具体枚举实现如下: 注意下各个实现类,最好指定name,防止类本身重命名, 阅读全文
摘要:
首先,我们使用okhttp,写一个接口调用请求,如下: 然后,我们写一个Runnable的实现类 最后,我们写一个调用方法 阅读全文
摘要:
说起分布式锁,我们都知道基本的三种实现方式: 下面我们来逐一讲解下几种分布式锁的实现: 一、基于数据库(唯一索引) 基于数据库实现分布式锁主要是利用数据库的唯一索引来实现,唯一索引天然具有排他性,这刚好符合我们对锁的要求:同一时刻只能允许一个竞争者获取锁。 加锁时我们在数据库中插入一条锁记录,利用业 阅读全文
摘要:
futureTask,ListenableFuture,CompletableFuture 阅读全文
摘要:
1 阅读全文
摘要:
讲完AQS,下面开始从lock说起 阅读全文
摘要:
聊lock之前,我们先来看看AQS 阅读全文
摘要:
RT 阅读全文
摘要:
一、可重入性 关于synchronized的可重入性的证明,我们可以通过A类内写两个同步方法syncA(),syncB()。然后syncA内调用syncB,调用syncA发现代码可正常执行,来证明这一点。 当处于无锁阶段时,划掉,都重入了不可能处于无锁。 当处于偏向锁阶段时,由之前对偏向锁的解释可知 阅读全文
摘要:
一、object的wait() ,notifyAll(),notify() 三个方法 上述三个方法只能在Synchronized代码块内运行,显而易见其原理其实离不开Synchronized的实现。 wait() 该方法用来将当前线程置入休眠状态,直到接到通知或被中断为止。在调用 wait()之前, 阅读全文