自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 java线程池allowCoreThreadTimeOut属性空闲时释放常驻核心线程

这时候我们就可以使用allowCoreThreadTimeOut这个属性,当此字段设置为true的时候,空闲线程在达到我们设置的空闲时间后,也会释放,即上面例子中的线程池,最终不仅会释放 5-3 个核心线程以外的线程,3个核心线程也会释放,即剩余0个线程。

2024-03-29 14:59:17 589

原创 使用ExecutorCompletionService,按照任务完成的顺序获取结果

以上代码中提交的任务,模拟的是一种最坏的任务耗时情况,从10秒~1秒,从执行结果看,是阻塞了10秒,也就是阻塞到执行时间最长的任务执行完成后,才能拿到首次执行结果,即碰到某个耗时慢的任务后,会等到此任务执行完成后,才继续获取后续任务的执行结果;ExecutorCompletionService 中添加了一个队列,来存放线程池已经完成的任务,take方法是从队列中获取已经完成的任务;从运行结果看,获取阻塞结果时,并没有因为碰到执行最长的任务而一致阻塞,而是逐个取到了最先执行完成的任务;

2024-03-27 00:00:04 247

原创 java线程池创建后,核心线程是否已经创建了

3、prestartAllCoreThreads(),会给线程池创建线程池的核心线程数配置大小的线程数,也就是10个,第三行输出9,是因为前面prestartCoreThread()已经创建了1个线程,prestartAllCoreThreads()只创建9个线程,就达到核心线程数的配置10个了,因此只创建了9个线程;总结:线程池创建时,核心线程并不会被立马创建,可以通过调用prestartCoreThread()和prestartAllCoreThreads()为线程池初始化好核心线程;

2024-03-26 17:31:21 355

原创 mysql主键为varchar类型,查询不带单引号,不仅仅是隐式转换的问题

发生了隐式转换,当字段为varchar类型,而条件数值为数字类型时,mysql会尝试将数据库中id都转换成double类型与对应的条件数值进行比对;1、影响数据范围错误,数据范围相当于 update table set a = 1 where id like ‘1915266715287552%’;2、及时id的数据范围是小于等于16位的数字,也要加单引号,防止索引失效,发生全表扫描;1、如果主键id是varchar类型,按id修改时,数值一定要用单引号引起来使用。

2024-03-26 16:15:42 222

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除