- 博客(4)
- 收藏
- 关注
原创 completableFuture源码解析
首先尝试不看源码情况下讲清楚CompletableFuture. CompletableFuture主要由两个类组成,CompletableFuture与Completion,其中Completion有非常多实现类,像是一元的UniCompletion,二元的BiCompletion等,整体逻辑都是差不多的,这里以基于一元UniCompletion的UniApply来讲解.
2024-01-29 10:54:18 986
原创 nio & netty
poolChunk中抽象出来页的概念,一页的大小是8KB.一个poolChunk(4MB)含有的页数量是512. 页是poolChunk中最小的内存分配单位,当然对于small规格的,还有poolSubPage这个随后讲解. 我们知道poolChunk管理的这块byteBuf的起始地址,如果想要在poolChunk中分配获得一块内存区域,假如能知道此内存区域是从第几页开始,以及总共分配多少页,就能计算出来这块内存区域的起始地址以及结束地址.
2024-01-23 10:18:01 782
原创 tomcat hang up 排查笔记
问题背景: 项目上线后一切顺利,直至进入一个页面请求到那个接口,短时间内tomcat所有线程全部hang住,页面无法响应.猜测: 此接口相较上个版本将一部分耗时久的地方采用线程池去异步缩短时间,猜测问题出在线程池上面,将代码改回单线程后,一切又都好了,那么问题无疑就是线程池引起的.肇事线程池如下ExecutorService queryExecutorService = new ThreadPoolExecutor(16, 32, 10L, TimeUnit.SECONDS, new ArrayBl
2021-07-22 15:42:42 278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人