自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 问答 (1)
  • 收藏
  • 关注

原创 AQS详解

Doug Lea(小名:李二狗)Java并发编程核心在于java.concurrent.util包而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这个行为的抽象就是基于AbstractQueuedSynchronizer简称AQS,AQS定义了一套多线程访问共享资源 的同步器框架,是一个依赖状态(state)的同步器。

2022-09-24 18:11:19 115 1

原创 CAS详解

CAS是compare and swap的缩写,即我们所说的比较交换(乐观锁)。cas有三个操作数----内存对象(V)、预期原值(A)、新值(B)。CAS原理就是对v对象进行赋值时,先判断原来的值是否为A,如果为A,就把新值B赋值到V对象上面,如果原来的值不是A(代表V的值放生了变化),就不赋新值。Unsafe提供的API大致可分为内存操作、CAS、Class相关、对象操作、线程调度、系统 信息获取、内存屏障、数组操作等几类,下面将对其相关方法和应用场景进行详细介绍。1、内存操作。

2022-09-24 17:44:55 239

原创 《计算之魂》读书笔记

读书笔记

2022-08-22 16:41:34 195

原创 now(3)

mysql运用now(3)存储时间到毫秒select NOW(3) from DUAL;

2021-10-21 14:34:53 567

原创 ExecutorCompletionService导致的Full GC内存溢出问题

项目场景:日常维护的系统,碰上没有常规需求,没有发版,导致某天夜里疯狂Full GC告警了。为了紧急处理当时先做应用重启,重启后好了。问题描述:连续1个月没有发版,导致系统FULL GC告警。原因分析:分析dump文件,发现java.util.concurrent.ConcurrentHashMap占用了总量95%的堆内存,跟踪发现是ExecutorCompletionService中的LinkedBlockingQueue队列导致的。项目中ExecutorCompletionServic

2021-10-20 16:41:38 563

转载 化解日常Bug的50个大法(覆盖数据库、代码层面、缓存)

化解日常Bug的50个大法(覆盖数据库、代码层面、缓存)前言一、数据库篇1、慢查询1 ) 是否命中索引2 ) 数据量大,考虑分库分表3 )不合理的SQL2、 数据库字段注意点1 )字段是否会超长2 )字段为空,是否会导致空指针等3 )字段缺失4 )字段类型是否支持表情5 )谨慎使用text、blob字段3、事务失效的场景1 )@Transactional 在非public修饰的方法上失效2)本地方法直接调用3 )异常被try...catch吃了,导致事务失效4 )rollbackFor属性设置错误5 )底层

2021-10-15 17:13:52 336

空空如也

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

TA关注的人

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