技术随笔
项目中回碰到的
qq_37548389
这个作者很懒,什么都没留下…
展开
-
记一次2C接口有RT毛刺问题(学习)
tomcat,RT毛刺原创 2022-08-04 15:46:53 · 221 阅读 · 1 评论 -
pulsar最佳实践
pulsar实践原创 2022-04-01 10:25:07 · 2139 阅读 · 0 评论 -
spring解决循环依赖的特殊情况会失效
spring 默认使用三级缓存解决循环依赖问题。特殊情况下会导致循环依赖失效。 比如 1.互相循环依赖使用构造器注入。 2. 通过类似 @Async 注解在对象初始化时期被生成代理对象替换原对象原因原创 2021-09-08 15:13:37 · 533 阅读 · 0 评论 -
ThreadLocal系列使用问题及解决方案
1、ThreadLocal使用及问题代码public static void threadLocal(){ ThreadLocal threadLocal = new ThreadLocal(); threadLocal.set(4); System.out.println("parent - " +threadLocal.get()); new Thread(new Runnable() { @Override原创 2021-05-27 14:50:01 · 236 阅读 · 0 评论 -
Redis分布式锁那些事(一)
背景随着用户量的慢慢增加,项目的架构也逐渐会演变分布式、集群方式,这就会产生集群情况下如何保证事务仅仅执行一次的问题。比如老生常谈的电商系统中的下单扣减商品库存,等等。有很多种解决方案,单思想基本一样。场景用户A 进行购买商品D,在提交订单的时候用户B同时也进行购买商品D。在单台服务器时使用java自有的synchronized或Lock的相关api即可控制并发问题,集群情况下A用户可能调用的是1机器的接口,用户B可能调用的是2机器的接口。synchronized或Lock就不能满足我们想要的结果,原创 2021-05-07 15:55:02 · 67 阅读 · 0 评论 -
优雅关闭线程池代码
@Slf4j@Componentpublic class ThreadExecutor {private ThreadFactory factory = new NamedThreadFactory("mall-thread-", false);/** * 最大线程数 */private static final int MAX_CONCURRENT = Runtime.getRuntime().availableProcessors() * 2;private ExecutorServ原创 2021-03-01 14:21:25 · 80 阅读 · 0 评论 -
spring中获取Request对象方式
Spring获取Request对象ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();requestAttributes.getRequest();原创 2021-01-16 14:17:52 · 167 阅读 · 0 评论