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