文章分类
Java基础
java基础
Map
计算机原理
队列
AQS与同步锁
线程与线程池
IO与网络
java代理
jdbc及其扩展
单元化测试
读书笔记
《spring源码深度解读》
《深入理解JAVA虚拟机》
《MySQL是怎样运行的:从根上理解MySQL》
《Redis开发与运维》
《Java并发编程的艺术》
《Docker与容器云》
中间组件
数据库
大数据组件
缓存
消息组件
运维基础
技术实践
项目源码
com.alibaba.druid
jedis
commons-lang3
java.security
apache.httpclient
java.io
apache.commons.pool2
tomcat
apache.sshd
lombok.log4j2
mybatis
netflix.archius
前端知识
瞬间
相册
朋友圈
留言板
友情链接
沧海月明
解决了什么问题,做了什么优化
累计撰写
149
篇文章
累计创建
33
个标签
累计收到
1
条评论
栏目
文章分类
Java基础
java基础
Map
计算机原理
队列
AQS与同步锁
线程与线程池
IO与网络
java代理
jdbc及其扩展
单元化测试
读书笔记
《spring源码深度解读》
《深入理解JAVA虚拟机》
《MySQL是怎样运行的:从根上理解MySQL》
《Redis开发与运维》
《Java并发编程的艺术》
《Docker与容器云》
中间组件
数据库
大数据组件
缓存
消息组件
运维基础
技术实践
项目源码
com.alibaba.druid
jedis
commons-lang3
java.security
apache.httpclient
java.io
apache.commons.pool2
tomcat
apache.sshd
lombok.log4j2
mybatis
netflix.archius
前端知识
瞬间
相册
朋友圈
留言板
友情链接
目 录
CONTENT
以下是
FatFish1
的文章
2024-10-28
Eexcutors框架 - JDK提供的预设线程池
FixedThreadPool - 定长线程池 固定长度线程池,是一个corePoolSize=maxPoolSize的线程池,这就意味着当核心线程池满,新任务就开始向阻塞队列中提交,不会继续扩展线程池线程数。 public static ExecutorService newFixedThread
2024-10-28
57
0
0
线程与线程池
2024-10-28
线程池
线程池基础知识 什么是线程池 线程池是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后再创建线程完成这些任务。 线程:java中的thread 任务:实现了runnable或callable接口的实例对象 线程池的优势 线程和任务分离,提升线程重用性 控制线程并发数量,降低服务器压力
2024-10-28
72
0
0
线程与线程池
2024-10-25
第六章 jdk几种分布式框架
ConcurrentHashMap - 线程安全哈希map 线程安全的HashMap,相比HashSet一个synchronized锁全表,ConcurrentHashMap效率更高,jdk7及以前的版本是分成一个个segment实现的,jdk8及以后使用Node+CAS+synchro
2024-10-25
67
0
0
《Java并发编程的艺术》
2024-10-24
LinkedBlockingDeque - 链式双向阻塞队列
概述 LinkedBlockingDeque是一个由链表结构组成的双向阻塞队列,即可以从队列的两端插入和移除元素。双向队列因为多了一个操作队列的入口,在多线程同时入队时,也就减少了一半的竞争。 相比于其他阻塞队列,LinkedBlockingDeque多了addFirst、addLast、peekF
2024-10-24
60
0
0
队列
2024-10-24
PriorityBlockingQueue/PriorityQueue - 优先级无界队列
概述 PriorityBlockingQueue是支持线程优先级排序的无界阻塞队列,默认排序是按自然序进行排序,也可以自定义实现compareTo()方法指定排序规则。但这种排序无法保证同优先级元素顺序。还有个兄弟PriorityQueue是优先级无界非阻塞队列。
2024-10-24
47
0
0
队列
2024-10-24
SynchronousQueue - 同步转移队列
概述 是特殊的TransferQueue,它不存储元素,容量为0,必须先有消费线程等待,才能使用的队列。 synchronousQueue的独特能力 这个队列其本身是没有容量大小,即每一个put操作必须等待
2024-10-24
44
0
0
队列
2024-10-24
LinkedTransferQueue - 预占队列
概述 常用方法 boolean add(E e):队列会保存数据,不做阻塞等待。 void transfer(E e):是TransferQueue的特有方法。必须有消费者(take()方法调用者)。如果没有任意线程消费数据,transfer方法阻塞。一般用于处理及时消息。 由链表组成的无界队列,相
2024-10-24
67
0
0
队列
2024-10-24
DelayQueue - 延时阻塞队列
概述 常用于定时任务,如:定时关机。常用方法 int compareTo(Delayed o):比较大小,自动升序。比较方法建议和getDelay方法配合完成。如果任务是需要按时完成的计划任务,必须配合getDelay方法完成。 long getDelay(TimeUnit unit):获取计划时长
2024-10-24
65
0
0
队列
2024-10-24
LinkedBlockingQueue - 基于链表的无界阻塞队列
概述 链式队列,此队列按照先进先出FIFO原则对元素进行排序,默认长度为Integer.MAX_VALUE。作为链表队列,就会有Node的概念,linkedBlockingQueue的node比较简单,只有元素本身及其下一个节点: static class Node<E> { E i
2024-10-24
66
0
0
队列
2024-10-24
ArrayBlockingQueue - 基于数组的有界阻塞队列
概述 一个用数组实现的有界阻塞队列,会自动阻塞,此队列按照先进先出FIFO原则对元素进行排序。支持公平锁和非公平锁。提供方法包括: boolean add(E e):在容量不足时,抛出异常。
2024-10-24
73
0
0
队列
1
...
11
12
13
14
15