摘要: 概要: ReentrantLock类内部总共存在Sync、NonfairSync、FairSync三个类,NonfairSync与FairSync类继承自Sync类,Sync类继承自AbstractQueuedSynchronizer抽象类 对ReentrantLock类的操作大部分都直接转化为对S 阅读全文
posted @ 2018-09-04 15:26 twoheads 阅读(279) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/ligang2585116/article/details/71094887 开发过程中,你肯定会遇到这样的场景: 场景一: 糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作! 场景二: 彻底完了,刚线上更新的代码出现问题了, 阅读全文
posted @ 2018-09-04 09:47 twoheads 阅读(4130) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/leesf456/p/5406191.html 阅读全文
posted @ 2018-08-31 16:59 twoheads 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 概述: 它内部实现主要是状态变量state和一个FIFO队列来完成,同步队列的头结点是当前获取到同步状态的结点,获取同步状态state失败的线程,会被构造成一个结点加入到同步队列尾部(采用自旋CAS来保证此操作的线程安全),随后线程会阻塞;释放时唤醒头结点的后继结点,使其加入对同步状态的争夺中。 它 阅读全文
posted @ 2018-08-31 10:44 twoheads 阅读(976) 评论(0) 推荐(0) 编辑
摘要: 答案:CountdownLatch阻塞主线程,等所有子线程完结了再继续下去。Syslicbarrier阻塞一组线程,直至某个状态之后再全部同时执行,并且所有线程都被释放后,还能通过reset来重用。 CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的 阅读全文
posted @ 2018-08-29 17:41 twoheads 阅读(8801) 评论(0) 推荐(0) 编辑
摘要: 因为在调用端的异步中,需要调用其他多个服务获取数据再汇总结果返回,所以用到了CountDownLatch CountDownLatch的概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。 CountDownLatch能够 阅读全文
posted @ 2018-08-29 15:31 twoheads 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 被匿名内部类引用的变量会被拷贝一份到内部类的环境中 但其后,在外部,该变量如果被修改,则内部外部不一致 Java为了避免数据不同步的问题,做出了匿名内部类只可以访问final的局部变量的限制。 究其原因,在于 区域变量 x 并不是真正被拿来于内部匿名类别中使用,而是在内部匿名类别中复制一份,作为fi 阅读全文
posted @ 2018-08-28 16:01 twoheads 阅读(1422) 评论(0) 推荐(0) 编辑
摘要: package com.bill99.junit; import java.lang.reflect.Method; import junit.framework.Assert; import org.junit.Before; import org.junit.Test; public class 阅读全文
posted @ 2018-08-27 18:17 twoheads 阅读(4133) 评论(0) 推荐(0) 编辑
摘要: 转:https://blog.csdn.net/qq_36113598/article/details/78906882 1、简单概括 先用一张图来理一下git fetch和git pull的概念: 可以简单的概括为: git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到 阅读全文
posted @ 2018-08-27 09:18 twoheads 阅读(375) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/MOBIN/p/6185387.html 阅读全文
posted @ 2018-08-23 18:05 twoheads 阅读(98) 评论(0) 推荐(0) 编辑