摘要: ```java package java.util.concurrent; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import jav 阅读全文
posted @ 2020-03-14 15:09 sunleejon 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 1. 简介 Semaphore 类是一个计数信号量,必须由获取它的线程释放, 通常用于限制可以访问某些资源(物理或逻辑的)线程数目。 一个信号量有且仅有 3 种操作,且它们全部是原子的。 初始化、增加和减少。 增加可以为一个进程解除阻塞。 减少可以让一个进程进入阻塞。 Semaphore 管理一系列 阅读全文
posted @ 2020-03-14 14:37 sunleejon 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1. CyclicBarrier 是什么? 从字面上的意思可以知道,这个类的中文意思是“循环栅栏”。大概的意思就是一个可循环利用的屏障。 它的作用就是会让所有线程都等待完成后才会继续下一步行动。 举个例子,就像生活中我们会约朋友们到某个餐厅一起吃饭,有些朋友可能会早到,有些朋友可能会晚到,但是这个餐 阅读全文
posted @ 2020-03-13 23:41 sunleejon 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 上述代码中我们先生成了一个CountDownLatch实例。计数数量为10,这表示需要有10个线程来完成任务,等待在CountDownLatch上的线程才能继续执行。latch.countDown();方法作用是通知CountDownLatch有一个线程已经准备完毕,倒计数器可以减一了。latch. 阅读全文
posted @ 2020-03-13 23:14 sunleejon 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 有大括号的时候 大括号里面所有的 都归if管。只有条件为真的时候 才会执行。 没有大括号的时候 只有下面的一句归if管, 也就是说 当只有一句的时候 大括号可以省略 其它的 没区别。 阅读全文
posted @ 2020-03-13 23:05 sunleejon 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 总结 for(;;) 比 while(true) 好 为啥:如下(底层完全不同) “死循环”有两种写法:for(;;)和while(true), 两者有啥区别,为啥源码中多数是for( ; ; )这种形式的, 对比之下,for (;;)指令少,不占用 寄存器 ,而且没有判断跳转,比while (1) 阅读全文
posted @ 2020-03-13 23:02 sunleejon 阅读(576) 评论(0) 推荐(0) 编辑
摘要: fetch vs pull git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。 下面是 阅读全文
posted @ 2020-03-10 22:46 sunleejon 阅读(167) 评论(0) 推荐(0) 编辑
摘要: windows 下快捷键 由于更新,右键强制刷新消失了 CTRL + F5 直接强制刷新,不用缓存 阅读全文
posted @ 2020-03-09 01:25 sunleejon 阅读(3468) 评论(1) 推荐(1) 编辑
摘要: 1、阿里云Ubuntu镜像下载链接 http://mirrors.aliyun.com/ubuntu releases/ 2、maven依赖版本查询 https://mvnrepository.com/ 3、科大博客提供 Google Fonts 加速 https://servers.ustclug 阅读全文
posted @ 2020-03-08 20:59 sunleejon 阅读(162) 评论(0) 推荐(0) 编辑
摘要: jdbc.properties 阅读全文
posted @ 2020-03-08 18:49 sunleejon 阅读(701) 评论(0) 推荐(0) 编辑