自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadPoolExecutor线程池问题排查:线程池设置不合理导致future.get()阻塞

一、业务背景有一个接口的部分功能使用了线程池,这个功能放在线程池里和主线程并行执行,等线程池里的任务执行完通过future.get的方式(如果需要得到线程池里的线程执行结果,使用future的方式)获取线程池里的线程执行结果,然后合并到主流程的结果里返回给前端。业务场景很简单,目的是不影响主流程的性能,不增加整体响应时间。但是遇到了设计的逻辑错误。设计场景:I/O密集型(大部分业务都是通过调用接口实现的) 核心线程数:4核(cpu核数) 最大线程数:cpu核数*2 等待队列:2048二、相关

2020-12-16 18:20:37 7129

原创 Java并发: 监视器Monitor、等待/通知机制原理解析

问题描述:如果在当前线程持有锁时调用Thread.sleep则可能导致性能和可伸缩性问题,因为持有锁的线程的执行被冻结。最好对monitor对象调用wait来暂时释放锁并允许其他线程运行Monitor介绍:Monitor是一种用来实现同步的工具 与每个java对象相关联,即每个java对象都有一个Monitor与之对应 Monitor是实现Sychronized(内置锁)的基础Monitor的基本结构:Owner字段:初始时为NULL表示当前没有任何线程拥有该monitor record.

2020-12-14 18:16:45 978

原创 代码规范扫描的一些案例

一、sonar代码规范扫描1.1、提示Use try-with-resources or close this "XXX" in a "finally" clause(1)案例1:问题描述:提示我们用java7的try-with-resources模式处理流,免去手动在finally里close等繁琐流程问题解决:例如可以这样try (InputStream inputStream = f.downloadFile(fileName); OutputStre

2020-12-02 16:46:51 1325 2

空空如也

空空如也

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

TA关注的人

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