摘要:一、LongAdder https://blog.csdn.net/jiangtianjiao/article/details/103844801/
阅读全文
摘要:一、java线程的状态 public enum State { /** * Thread state for a thread which has not yet started. */ NEW, /** * Thread state for a runnable thread. A thread
阅读全文
摘要:线程池核心原理:https://www.zhihu.com/question/485071288?utm_id=0 一、线程池提交任务的执行示意图 二、线程池的核心参数解释 corePoolSize:核心线程数大小:不管它们创建以后是不是空闲的。线程池需要保持 corePoolSize 数量的线程,
阅读全文
摘要:一、JDK的线程池的核心参数 int corePoolSize :线程池中的核心线程数 int maximumPoolSize :线程池中的最大线程数 long keepAliveTime :除核心线程数以外,其他空闲线程最大存活的时间 TimeUnit unit :存活时间的单位 Blocking
阅读全文
摘要:一、延迟队列 延迟队列,底层依赖了优先级队列PriorityBlockingQueue 二、延迟队列案例 (1)延迟队列的任务 public class DelayTask implements Delayed { /** * 要执行的任务 */ private String doTask; /**
阅读全文
摘要:一、二叉堆 如题,二叉堆是一种基础数据结构 事实上支持的操作也是挺有限的(相对于其他数据结构而言),也就插入,查询,删除这一类 对了这篇文章中讲到的堆都是二叉堆,而不是斜堆,左偏树,斐波那契堆什么的 我都不会啊 二叉堆的表现形式:我们可以使用数组的索引来表示元素在二叉堆中的位置。 从二叉堆中,我们可
阅读全文
摘要:1、简介 上一篇我们介绍了 LinkedBlockingDeque 的兄弟篇 LinkedBlockingQueue 。听名字也知道一个实现了 Queue 接口,一个实现了 Deque 接口,由于 Deque 接口又继承于 Queue ,所以 LinkedBlockingDeque 自然就有 Lin
阅读全文
摘要:1、简介 ArrayBlockingQueue,顾名思义:基于数组的阻塞队列。数组是要指定长度的,所以使用ArrayBlockingQueue时必须指定长度,也就是它是一个有界队列。 它实现了BlockingQueue接口,有着队列、集合以及阻塞队列的所有方法,队列类图如下图所示(图片来自之前的文章
阅读全文
摘要:转载:http://benjaminwhx.com/2018/05/05/%E8%AF%B4%E8%AF%B4%E9%98%9F%E5%88%97Queue/ 1、简介 Queue(队列):一种特殊的线性表,它只允许在表的前端(front)进行删除操作,只允许在表的后端(rear)进行插入操作。进行
阅读全文
摘要:转载:https://blog.csdn.net/tonywu1992/article/details/83419448 http://benjaminwhx.com/archives/ 1、简介 上篇我们介绍了ArrayBlockingQueue的相关方法的原理,这一篇我们来学习一下ArrayBl
阅读全文
摘要:原文:https://blog.csdn.net/u011001723/article/details/52794455/ 一、测试一个案例,说明java8的流操作是并行操作 1、代码 package com.spring.test.service.forkjoin; import java.uti
阅读全文
摘要:http://www.importnew.com/15731.html
阅读全文
摘要:一、ConcurrentLinkedHashMap
阅读全文
摘要:一、java线程的状态 NEW: 新建状态,线程对象已经创建,但尚未启动 RUNNABLE:就绪状态,可运行状态,调用了线程的start方法,已经在java虚拟机中执行,等待获取操作系统资源如CPU,操作系统调度运行。 BLOCKED:堵塞状态。线程等待锁的状态,等待获取锁进入同步块/方法或调用wa
阅读全文
摘要:一、Ringbuffer的概念 =>是一个环形数据队列的数据结构 =>嗯,正如名字所说的一样,它是一个环(首尾相接的环),你可以把它用做在不同上下文(线程)间传递数据的buffer。 =>基本来说,ringbuffer拥有一个序号,这个序号指向数组中下一个可用的元素。(校对注:如下图右边的图片表示序
阅读全文
摘要:(一)线程池的拒绝策略 >拒绝策略的接口java.util.concurrent.RejectedExecutionHandler >终止策略(默认):java.util.concurrent.ThreadPoolExecutor.AbortPolicy 为java线程池默认的阻塞策略,不执行此任务
阅读全文
摘要:Java内存模型 下面是我从百度上引入的一张具有代表性的图 ①解释:我根据这张图来解释java内存模型,从图中可以看出每个线程都需要从主内存中读取操作,这个就是java内存模型的规定之一,所有的变量存储在主内存中,每个线程都需要从主内存中获得变量的值。 然后从图中可以看到每个线程获得数据之后会放入自
阅读全文
摘要:完整的锁解释:https://www.cnblogs.com/shangxiaofei/articles/16361990.html synchronized的缺陷 我们知道,可以利用synchronized关键字来实现共享资源的互斥访问。 Java 5在java.util.concurrent.l
阅读全文
摘要:java中线程分为两种类型:用户线程和守护线程。通过Thread.setDaemon(false)设置为用户线程;通过Thread.setDaemon(true)设置为守护线程。如果不设置次属性,默认为用户线程。 用户线程和守护线程的区别: 1. 主线程结束后用户线程还会继续运行,JVM存活;主线程
阅读全文
摘要:1当线程的线程体内部无捕获异常,将异常抛出线程体外,不同情况下,程序处理机制 测试类 1 package com.ehking.bankchannel.domesticremit.facade.impl; 2 3 import java.util.ArrayList; 4 import java.u
阅读全文