首页
AI Coding
AIDP
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
244_如何根据系统的业务场景需求定制自己的线程池
如果你的业务场景有一些需求的话,你完全可以自己直接构造ThreadPoolExecutor的线程池,传入一些参数符合你自己的业务需求的,fixed和cached、scheduled可以满足大部分场景的
243_single线程池和scheduled线程池
只有1个线程,不停的处理提交到无界队列的任务 必须是会延迟你指定的时间之后才会去执行那个任务 他肯定是刚开始默认先用你制定的那么多的corePoolSize来执行你的定时任务,有一些延
2025-12-10:相邻字符串之间的最长公共前缀。用go语言,给定一个字符串数组 words。对每个下标 i(0 到 words.length-1)按下面步骤
2025-12-10:相邻字符串之间的最长公共前缀。用go语言,给定一个字符串数组 words。对每个下标 i(0 到 words.length-1)按下面步骤处理并求得一个整数值: 把数组中索引为
242_cached线程池又会不会触发拒绝任务提交的机制呢?
答案是:不会 第一种fixed,是基于有限固定数量的线程处理源源不断涌入的任务,但是呢,无界队列,所以任务可以无限制的涌入和排队 第二种cached,是在需要的时候无限制的创建新的线程
241_不停往cached线程池提交任务时会导致CPU负载过高吗?
答案是:会,就可能会在系统高峰期导致大量的线程被创建出来,然后就是导致机器的CPU负载过高,更有甚至,就是线程太多导致内存溢出,线程太多了,导致CPU负载飙升。队列无限增长,内存飙升
240_cached线程池有线程的时候提交任务到队列又如何被执行
如果没有线程在从队列获取任务,此时无论你提交多少任务,SynchronousQueue入队都是失败的,offer都是返回false,此时都会直接创建线程来执行任务的,但是如果有线程空闲出来就会尝试从队
239_非core线程执行完之后如何尝试从队列获取下一个任务
当前线程数量,一定是大于corePoolSize的,corePoolSize是0,无论你有多少个线程,都是属于非core线程,都会大于,这里的timed就是true 非core线程在从队列获取
238_线程池已有线程在执行任务时再次提交任务会如何执行呢?
SynchronousQueue的原理,TransferStack来进行数据传递 put + take的方式,才能实现他原本希望实现的一个效果,如果put的时候没有人在take,此时就会将he
237_第一个任务到cached线程池的入队失败以及非core线程执行
SynchronousQueue,入队 刚开始提交第一个任务的时候,SynchronousQueue的源码反复盘查了两遍,基本上可以确认说没有线程在等待获取任务的时候,入队直接是返回false
236_提交任务到cached线程池时会先触发线程的创建吗?
刚开始线程数量是0,此时是不是小于corePoolSize呢?当然不是了,corePoolSize = 0,所以此时第一种情况的条件是不会满足的 以上述方法构造出来的线程池,他在提交任务的时候
235_不限制线程数量的线程池:cached线程池
``` // 1. 创建可缓存线程池(无固定线程数,动态创建+回收) ExecutorService cachedThreadPool = Executors.newCachedThreadPool(
234_最后来看看线程池关闭的过程中会涉及到什么?
关闭这个线程池,在整个系统都关闭的时候会来关闭这个线程池 Worker本身是一个AQS,执行任务的时候,state = 1;执行完一个任务,state = 0 尝试将Worker的st
233_maximumPoolSize和reject策略在fixed线程池中会用吗?
答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:不会答案是:
232_无界队列线程池在远程服务异常时内存飙升怎么办
使用无界队列的线程池,在远程服务异常的情况下导致内存飙升怎么办? 最后可能会导致JVM OOM,系统崩溃 如果要解决这个问题从哪个角度来切入,你可以考虑自己定制线程池,使用有界队列,不
09_LinkedList删除元素的原理
双向链表,来实现的LinkedList数据结构,你应该看到的是他底层的一个双向队列的数据结构,插入、获取、删除,都可以从队头、队尾来实现,完全可以当做一个队列来用,offer()往队尾插入元素,pol
08_LinkedList获取元素的原理
获取头部元素,尾部元素,中间的某个元素 getFirst() == peek():获取头部的元素,他其实就是直接返回first指针指向的那个Node他里面的数据,他们都是返回头部的元素。get
异步革命-高并发编程的全新范式
Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify networ
Scala
![屏幕截图 2025-12-08 113750.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/00f4c90ce143489
Scala的Array
## 定义数组 Array 是一种在 Scala 中用于存储固定大小、相同类型元素的数据结构。它在内
Scala的Array练习
## 任务背景:梦想清单管理。 1. 使用 case class 定义 DreamItem 类。它的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30