摘要: 遇到上述无法提交的问题:都是这种命令git push -u origin master造成的 查看github上的提示: 解决:把之前的命令中的master修改成main就好了 阅读全文
posted @ 2020-12-25 22:20 fight12346789 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 滑动窗口模板 ....int left = 0, right = 0;//len为需要滑动的窗口的长度while(right < len) { ... right++; while或者if() { left++; }}题型一: 求一个字符串的字串,子串中至多有2,n个不重复的字符,或者字符串中无重复 阅读全文
posted @ 2020-06-28 10:22 fight12346789 阅读(222) 评论(0) 推荐(0) 编辑
摘要: LeetCode链表 2. 两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示 阅读全文
posted @ 2020-06-19 10:09 fight12346789 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 一、SynchronousQueue的介绍 SynchronousQueue是一个不存储元素的阻塞队列。每一个put操作必须等待一个take操作,否则不能继续添加元素。SynchronousQueue支持公平性和非公平性2种策略来访问队列。默认是采用非公平性策略访问队列。公平性策略底层使用了类似队列 阅读全文
posted @ 2020-06-08 17:11 fight12346789 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 1.ThreadLocal 是什么? 在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 ThreadLocal并不是一个Thread,而是Thread的局部 阅读全文
posted @ 2020-06-01 17:40 fight12346789 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Semaphore介绍 Semaphore(信号量)是用来控制同时访问特定资源的线程数量,他通过协调各个线程,以保证合理的使用公共资源。 Semaphore的简单示例 使用Semaphore来简单模拟数据库连接池 public class Pool { //可同时访问资源的最大线程数 private 阅读全文
posted @ 2020-05-27 17:49 fight12346789 阅读(232) 评论(0) 推荐(0) 编辑
摘要: CyclicBarrier的简介 CyclicBarrier的字面意思是可循环使用的屏障。他要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续执行。 CyclicBarrier和CountDownLatch的区别 ① 阅读全文
posted @ 2020-05-26 17:13 fight12346789 阅读(357) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch介绍 countDownLatch允许一个或多个线程等待其他线程完成操作。 countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。 存 阅读全文
posted @ 2020-05-25 16:37 fight12346789 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 在使用Lock之前,我们使用的最多的同步方式应该是synchronized关键字来实现同步方式了。配合Object的wait()、notify()系列方法可以实现等待/通知模式。 Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式,但是这两者在使用方式以 阅读全文
posted @ 2020-05-22 18:21 fight12346789 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 本文将介绍一下线程池的核心类ThreadPoolExecutor中的核心方法,如果有不正确的地方欢迎大家指出! 首先我们来看一下ThreadPoolExecutor中有什么状态以及各状态之间是如何转换的。 看完状态转换以后我们从总体上看一下线程池是如何工作的。 接下来我们通过分析源码来看到底是怎么实 阅读全文
posted @ 2020-04-21 17:22 fight12346789 阅读(286) 评论(0) 推荐(0) 编辑