首页
源码分析
Java并发框架源码
SpringBoot源码
Spring源码
MyBatis源码
文章
留言板
友链
1
1、红黑树的原理及实现(C++)
2
2、Java引用深入研究
3
1、I/O模型
4
14、ConcurrentHashMap核心源码解析
5
13、ThreadLocal线程局部变量
林雷
斜月沉沉藏海雾,碣石潇湘无限路
累计撰写
132
篇文章
累计创建
47
个标签
累计收到
3
条评论
栏目
首页
源码分析
Java并发框架源码
SpringBoot源码
Spring源码
MyBatis源码
文章
留言板
友链
搜索
标签搜索
RedBlackTree
红黑树
C++
Epoll
Poll
Select
NIO
阻塞队列
AQS
并发框架
码流
图灵
MyBatis源码
MyBatis
SpringBoot源码
Spring源码
JDK源码分析
线程池
XXL-JOB
Netty
ES
Elasticsearch
公共API
开放API
WebSocket
STOMP
VPN
Seata
分布式事务
HAProxy
ShardingSphere
Sharding-JDBC
Java8新特性
Nginx
Kubernetes
Redis
RocketMQ
OAuth2.0
Shadowsocks
SpringCloud
Linux
Git
docker
SpringSecurity
Spring
Java
技术
目 录
CONTENT
精品分类
全部分类
Java并发框架源码
SpringBoot源码
MyBatis源码
Spring&SpringMVC源码
最新文章
2023-11-16
1、红黑树的原理及实现(C++)
一 红黑树的原理在理解红黑树的原理之上,建议先学习二叉树,可以对AVL树做简单了解。红黑树(Red-black tree)是一种自平衡的二叉查找树,是一种数据结构,典型的用途是实现关联数组。红黑树的结构复杂,但它的操作有着良好的最坏情况运行时间,它可以在O(longN)时间内完成查找、插入和删除,N
2023-11-16
118
0
2
2023-08-25
2、Java引用深入研究
一 Java引用深入研究在Java中,使用Reference抽象类表示一个引用,Reference中的很多内容都是VM来调用的,比如GC清理了WeakReference后调用对象入队的逻辑等。我们先看一下Reference的继承结构:PhantomReference:幽灵引用,任何时候引用都可能会被
2023-08-25
182
0
0
2023-08-04
1、I/O模型
一 I/O模型I/O(Input/Output, 输入/输出),即数据的读取(接收)获写入(发送)操作,通常用户进程中的一个完整I/O分为两阶段:用户进程空间 --> 内核空间内核空间 --> 设备空间(磁盘、网络等)。I/O有内存I/O、网络I/O和磁盘I/O三种,通常我们说的I/O指
2023-08-04
206
0
1
2023-08-01
14、ConcurrentHashMap核心源码解析
一 ConcurrentHashMap核心源码解析本文使用的是1.8版本作为源码分析的。ConcurrentHashMap是HashMap的线程安全版本的实现,与HashMap类似,ConcurrentHashMap使用了一个table来存储Node,ConcurrentHashMap同样使用记录的
2023-08-01
136
0
2
Java并发框架源码
2023-07-29
13、ThreadLocal线程局部变量
一 ThreadLocal源码分析ThreadLocal可以理解为线程本地变量,它会在每个线程都创建一个副本,那么在线程之间访问内部副本变量就可以了,做到了线程之间互相隔离,相比于synchronized的做法是用空间来换时间。ThreadLocal有一个静态内部类ThreadLocalMap,Th
2023-07-29
139
0
0
Java并发框架源码
2023-05-28
12、时间轮算法和Netty的实现
一 时间轮时间轮方案将现实世界中的时钟概念引入到软件设计中,主要思路是定义一个时钟周期(比如时钟的12小时)和步长(比如时钟的一秒走一次),当指针每走一步的时候,会获取当前时钟刻度上挂载的任务并执行。所以说时间轮算法轮询不再遍历所有任务,而是遍历时间刻度。1.1 时间轮算法简介延迟队列的使用场景,时
2023-05-28
363
0
0
Java并发框架源码
2023-05-25
11、ScheduledThreadPoolExecutor源码解析
一 ScheduledThreadPoolExecutor源码解析在JDK中,定时器有多种实现,如Timer,Timer是单线程消费的,如果在执行任务期间某个TimerTask耗时过久,那么会影响其他任务的调度;ScheduledThreadPoolExecutor,线程池版本的定时器,内部实现上其
2023-05-25
186
0
0
Java并发框架源码
2023-05-22
10、关于设置线程池大小的思考
一 线程池大小线程池的理想大小取决于被提交任务的类型以及所部署系统的特性。在代码中通常不会固定线程池的大小,而应该通过某种配置机制来提供。要设置线程池的大小,应当避免“过大”和“过小”两种极端情况,如果线程池过大,那么大量的线程将在相对很少的CPU和内存资源上发生竞争,这不仅会导致更高的内存使用量,
2023-05-22
251
0
0
Java并发框架源码
2023-05-18
9、Executor及ThreadPoolExecutor线程池源码解析
一 Executor执行器Executor执行器,在Java中作为顶级的执行器接口,通常是作为一个异步执行器来执行指定的任务。在Executor接口中只定义了一个方法,用于执行指定的任务:/** * 执行器 */public interface Executor { /** * 执行给
2023-05-18
310
0
19
Java并发框架源码
2023-05-16
8、BlockingQueue之SynchronousQueue源码解析
一 SynchronousQueue源码解析通过 7、BlockingQueue之ArrayBlockingQueue源码解析 文章,我们知道阻塞队列的设计的基本思想,就是当读线程在读取数据的时候,如果队列存在元素则正常读取,当队列中没有数据的时候,则进入阻塞;而写线程也类似,当队列还有空间存放元素
2023-05-16
221
0
0
Java并发框架源码
1
2
3
4
5