自定义博客皮肤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)
  • 收藏
  • 关注

原创 全局拦截方法

logger.info("当前用户信息:{}", user);* @return 需要放行:true, 否则:false。//路径匹配器,支持通配符,可以匹配通配符。//3.如果不需要处理,则直接放行。//2.判断本次请求是否需要处理。* 路径匹配,检查本次请求是否需要放行。//1.获取本次请求的uri。//定义不需要处理的请求路径。//4.判断登录状态。

2024-08-12 14:09:14 340

原创 AQS源码详解之--CountDownLatch

代码都是套路,先分析套路:AQS 里面的 state 是一个整数值,这边用一个 int count 参数其实初始化就是设置了这个值,所有调用了 await 方法的等待线程会挂起,然后有其他一些线程会做 state = state - 1 操作,当 state 减到 0 的同时,那个将 state 减为 0 的线程会负责唤醒 所有调用了 await 方法的线程。上,只有当条件满足的时候(startSignal.countDown()),它们才能同时通过这个栅栏,目的是让所有的线程站在一个起跑线上。

2024-04-29 13:52:40 617 1

原创 AQS锁实现源码解析

最后 来总结下 :简单来说,ReentrantLock内部是运用了AQS来实现的 AQS内部是怎么实现的呢?三个东西:1.线程的阻塞和解除阻塞,2.state,3.阻塞队列实现.线程的阻塞和解除阻塞:AQS 中采用了 LockSupport.park(thread) 来挂起线程,用 unpark 来唤醒线程。state:锁状态值:0:无锁,其余数字有锁,大于1则说明重入。

2024-04-29 13:48:53 809 1

原创 MySQL中我们应该如何选择Float,Double,Decimal?

理论上的东西永远比不上实践,应用场景大于一切理论。选择float或者double或者decimal有时候也要看场景,比如我们可以用double存储一个小商铺的季度营业额(几千万),单独用double存储的时候没有问题,当多个季度,多个年份算总3年内的营业额是,就会出现问题,再也算不出一个准确的答案。所以,如果考虑情况没那么有把握的情况下,推荐使用decimal,最后,也可以通过其他手段避开这些问题,比如存储商品价格可以使用 乘于100的形式存储,展示价格的时候再除于100。

2023-10-10 17:40:59 1031 1

空空如也

空空如也

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

TA关注的人

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