06 2022 档案
摘要:前言 对于从事后端开发的同学来说,缓存已经变成的项目中必不可少的技术之一。 没错,缓存能给我们系统显著的提升性能。但如果你使用不好,或者缺乏相关经验,它也会带来很多意想不到的问题。 今天我们一起聊聊如果在项目中引入了缓存,可能会给我们带来的下面这三大问题。看看你中招了没? 1. 缓存穿透问题 大部分
阅读全文
摘要:前言 前一段时间,有同事使用ThreadLocal踩坑了,正好引起了我的兴趣。 所以近期,我抽空把ThreadLocal的源码再研究了一下,越看越有意思,发现里面的东西还真不少。 我把精华浓缩了一下,汇集成了下面11个问题,看看你能顶住第几个? 1. 为什么要用ThreadLocal? 并发编程是一
阅读全文
摘要:前言 并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。 之前我发表的一篇《聊聊并发编程的10个坑》,在全网广受好评。说明了这类文章还是比较有价值的,接下来,打算继续聊聊并发编程这个话题。 并发编程说白了就是多线程编程,但多线程一定比单线程效率更高? 答:不一定,要看具体业务场景
阅读全文
摘要:前言 前段时间,我们线上系统出现了一个事故:用户创建了商品,在商城的商品列表页看不到,也搜索不到。、 这个问题持续了大概半个小时,最后发现竟然是我的锅。 这个事情怎么说呢,完全是我自己把自己坑了。到底怎么回事呢? 1. 从需求说起 1.1 背景 由于我们这个迭代是个大版本,上线的日子要临近了。这次上
阅读全文
摘要:前言 我的上家公司是做餐饮系统的,每天中午和晚上用餐高峰期,系统的并发量不容小觑。为了保险起见,公司规定各部门都要在吃饭的时间轮流值班,防止出现线上问题时能够及时处理。 我当时在后厨显示系统团队,该系统属于订单的下游业务。用户点完菜下单后,订单系统会通过发kafka消息给我们系统,系统读取消息后,做
阅读全文
摘要:前言 对于从事后端开发的同学来说,并发编程肯定再熟悉不过了。 说实话,在java中并发编程是一大难点,至少我是这么认为的。不光理解起来比较费劲,使用起来更容易踩坑。 不信,让继续往下面看。 今天重点跟大家一起聊聊并发编程的10个坑,希望对你有帮助。 1. SimpleDateFormat线程不安全
阅读全文
摘要:前言 最近测试给我提了一个bug,说我之前提供的一个批量复制商品的接口,产生了重复的商品数据。 追查原因之后发现,这个事情没想象中简单,可以说一波多折。 1. 需求 产品有个需求:用户选择一些品牌,点击确定按钮之后,系统需要基于一份默认品牌的商品数据,复制出一批新的商品。 拿到这个需求时觉得太简单了
阅读全文