java
文章平均质量分 80
Zerol_Yan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA线程池中阻塞队列
在使用ThreadPoolExecutor线程池的时候,需要指定一个实现了接口的任务等待队列,用于临时存储提交的任务。原创 2025-01-10 10:55:32 · 888 阅读 · 0 评论 -
JAVA线程池中SynchronousQueue队列的阻塞与拒绝
由于 SynchronousQueue 队列不存储元素,而是要求生产者和消费者直接进行交互。当提交一个新任务到使用的线程池时,如果没有空闲线程可以立即执行这个任务,那么提交操作将会阻塞,直到有一个线程变得可用为止。这里线程池的阻塞行为实际上是由的特性决定的,而不是直接由线程池触发拒绝策略。在正常情况下,如果线程池达到了最大线程数(包括核心线程数和额外线程数),并且所有线程都在忙碌中,同时任务队列(在这里是)也无法接受新任务(因为它不存储任务),那么新的任务提交将会阻塞。但是,阻塞并不等同于触发拒绝策略。原创 2025-01-10 10:54:46 · 919 阅读 · 0 评论 -
JAVA中线程池ThreadPoolExecutor的使用
线程池,就是有一定数量线程的池子,池子中的线程可以多次使用,这可以减少创建和销毁线程的次数,从而达到节约运行时间和系统资源的目的。ThreadPoolExecutor是Java中的一个ExecutorService。原创 2025-01-09 09:43:42 · 1004 阅读 · 0 评论 -
Groovy脚本报错Cannot cast object ‘2a‘ with class ‘java.lang.String‘ to class ‘char‘
JAVA和Groovy的语法很像,大部分情况下,JAVA代码是可以直接用Groovy跑的。不过也有细微的差别,有时候 JAVA 环境下没有问题,Groovy 下会提示语法问题或者运行时直接报错。今天在处理md5加密函数的时候,就遇到了Cannot cast object '2a' with class 'java.lang.String' to class 'char'异常信息。原创 2024-07-11 10:13:20 · 1056 阅读 · 0 评论 -
java Redission 分布式锁的使用
在微服务的场景下,一个应用会部署多个实例,在一些业务场景中,需要保证同一时间多个线程只能有一个线程操作资源,分布式锁可以实现这一需求。JAVA 中,Redission 分布式锁是基于Redis实现的分布式锁,使用简单,只需要关注业务场景和使用到的接口即可。原创 2024-07-10 20:21:30 · 1007 阅读 · 0 评论
分享