- 博客(70)
- 收藏
- 关注
原创 三种使用 RocketMQ 达到消息一致的最佳实践
引言Hi 你好,我是有清RocketMQ 作为一款消息中间件,它的信息的投递与消费,通常都会与数据库的更新进行挂钩,那么如何保证 消息和数据库的更新是一个原子性的操作呢?比如在我数据库更新失败的时候,不进行消息的发送,或者在我发送消息失败的时候,数据库的更新进行回滚这边总结三种最佳实践,提供给大家作为参考学习1. 错误思路正确方案分享之前,先分享一个错误做法,看下你是否踩坑...
2024-07-25 08:59:06
295
原创 两个月拿下软考高项_信息系统项目管理师
1. 引言Hi 你好,我是有清在 3 月份准备开始复习软考的时候,在掘金上搜索了一系列的文章,心里就想要是我过,我一定也写一个文章来分享一下 复习过程的坑很幸运,这次压线过了,所以有了这一篇文章,2. 软考复习软考题型分为三部分:选择题、案例分析、论文需要三科都达到 45 分才及格,并且单科成绩无法累计复习一般需要跟着老师学习,报班或者 我像只 ____在你的池塘,淘一...
2024-07-11 09:33:23
639
原创 不是吧,这八股文真能解决问题
theme: condensed-night-purple1. 引言Hi,你好,我是有清何谓八股,乃“空疏无用,实于政事无涉”,在我们面试中经常碰到一些八股问题,我们常常嗤之以鼻,这玩意,我可以背诵并默写,但是八股真正的“空疏无用”么,直到有一天,射出去的子弹击中了我...... 2. 背景在一个风和日丽的下午,啪啪啪,十几个风险处理单打破了美好的摸鱼时光,中间件团队要求升...
2024-06-25 13:44:20
723
原创 原来 IDEA 还可以这样玩
1. 引言Hi,你好,我是有清。我们日常工作中,需要花费大量的时间在 IDEA 上编写代码,如何利用好 IDEA 这个工具,为我们的工作提效就变得尤为重要,本文将更新我的日常工作中使用到 IDEA 的一些技巧,希望与大家共勉。当然有一些基础的操作,本文就不赘述了,相信在读这篇文章的各位架构师一定了然于胸本文中所涉及到一些快捷键,可能被博主自身调整过,可以根据自己的习惯去重新设置快捷...
2023-12-05 12:51:40
128
原创 简单理解 Sentinel 滑动窗口实现原理
theme: serene-rose1. 引言Hi,你好,我是有清对于刚经历过双 11 的电商人来说,限流这个词肯定在 10.24 的晚 20.00 点被提起过限流作为保护我们系统不被流量冲垮的手段之一,建议每个电商人深入了解学习,什么,你不是电商人,那你也得了解一下,不然怎么在金三银四和面试官大胆对线目前市面上比较流行的流量治理框架是 Sentinel,在本文中我们先复习...
2023-11-07 13:21:36
690
原创 记一次线上使用线程池不当引起的线程卡死问题
1. 引言Hi,你好,我是有清在金融系统中,业务人员可以通过页面点击来修改当前产品的保费利率,然后触发一系列的业务逻辑近几天,业务人员反馈偶尔修改产品的保费利率页面会卡死,但是刷新页面后重试,往往都能成功.... 红线要紧,下文中出现的代码,均为伪代码2. 排查过程2.1. 接口问题排查在业务人员反馈问题发生的时间点前后,查看该接口的日志,的确存在大量超时的情况...
2023-09-11 13:26:52
547
原创 缓存你知道,堆外缓存池你知道吗?
theme: condensed-night-purple1.引言Hi,大家好,我是有清缓存我们都知道,在我们日常的工作过程中一般都有使用,一般我们使用的都是堆内缓存,但是我一提到堆外缓存,想必堆外缓存顾名思义,这部分数据是放在堆内存以外,因为堆外内存并不在 GC 的工作范围之内,所以可以有效的避免缓存过大对于 GC 的影响,听起来好像很棒的样子但是我们今天讲的堆外缓存...
2023-07-24 12:36:57
123
原创 日志全链路追踪之MDC
1.引言Hi,大家好,我是有清苏格拉底说过:日志打得好,排查没烦恼我们日常的开发工作中,排查问题去看日志应该是家常便饭的事,日志可以帮助我们清楚的知道当前代码的走向以及链路数据,通常我们现在都是微服务的架构,那么在我们 A 系统调用到 B 系统中,B 系统又调用 C 系统在繁忙的日志中,我们如何全链路追踪一笔调用呢,通常我们会借助到全局流水号这样的概念,例如下图这样实现这...
2023-07-08 15:37:18
556
原创 像写诗一样写代码:扁平化管理你的代码
theme: condensed-night-purple引言本文正在参加「金石计划」大家好,我是有清《史记》有云:大乐必易,大礼必简,写给机器看的代码简单,但是写给人看的代码就需要一点心思在我们平常的开发过程中,如果遇到代码嵌套过深的的函数,那么我们会什么叫嵌套过深呢我们可以简单看一段发工资的例子我们将函数内部一个左花括号视为一个嵌套深度,那么我们这个...
2023-03-09 13:16:29
164
原创 这五种方式拓展Bean的生命周期,你必须记住
theme: condensed-night-purple引言大家好,我是有清。又快到了吃西瓜的季节,不知道大家有没有吃过无籽西瓜,西瓜从它的幼苗到结果需要经过很漫长的一段过程,在其幼苗的时候,我们利用秋水仙素对其进行处理,然后再进行杂交,就可以得到无籽西瓜那么,如果我想打破 Bean 传统的生命周期,在其创建到销毁的过程中,去指定一些操作,有没有什么开箱即用的手段呢?学会这些...
2023-02-21 13:07:06
110
原创 你的双重检查锁真的锁住了对象么?
highlight: a11y-darktheme: condensed-night-purple引言大家好,我是有清一位名人说过:检查对象,一次不够,得两次基于这位名人的话,不少框架都使用了双重检查锁去获取对象比如 在 Nacos 的 InstancesChangeNotifier 类中,eventListeners 这个对象的获取```Javaprivate f...
2023-02-08 12:47:13
78
原创 设计模式组合拳,优化你的规则校验
theme: condensed-night-purple本文正在参加「金石计划 . 瓜分6万现金大奖」前言 在业务场景中,我们在针对用户还款的时候,需要对用户此次还款信息进行一系列的规则校验,诸如业务开关校验、还款在途校验、还款账户校验、产品业务规则校验等等,只有符合规则了,才允许你进行下一步的还款操作 在当前我们的中台实现中,我们借助流程编排来实现校验环节,即...
2022-12-02 09:12:50
524
原创 一行注解搞定异常重试,这么牛?
theme: condensed-night-purple前言我正在参加「掘金·启航计划」大家好,我是 Skow在我们业务开发的过程中,难免会碰到对外进行调用的情况,诸如在金融场景中,我们需要去推送还款计划的信息、查询还款结果等三方的接口,对于我们来说其实类似一个“黑盒”,我们不知道这个盒子里面到底做了什么事,但是为了不影响盒子出现的异常影响我们业务正常的进行,所以我们需要...
2022-10-25 14:11:48
141
原创 高并发下,少扣了十几万保费?
场景引入今天的正文开始,我们先引入一个简单的业务场景保费代扣(金融公司固定日从用户账户划扣保费)看图说话定时任务开始跑批的时候,我们会去查询这一笔单子相关的代扣信息,然后在我们的保费申请表中新增一笔数据,紧接着就异步发起一个流程编排,进入真正的代扣逻辑处理。计划非常完美,但是,在压测过程中却频频发现异常,主要问题体现在两点- 间断性的提示保费申请不存在(保费代扣的流程编排...
2022-05-01 11:19:43
116
原创 浅谈 ThreadLocal 的实际运用
theme: condensed-night-purpleThreadLocal 是 JDK 1.2 提供的一个工具,作者其一也是我们耳熟能详的大佬 Doug Lea这个工具主要是为了解决多线程下共享资源的问题接下来我们从 ThreadLocal 的定义以及适用场景一步步扒开它的外衣适用场景场景1,ThreadLocal 用作保存每个线程独享的对象,为每个线程都创建一...
2022-03-23 12:43:18
95
原创 扪心五问 @Transactional
theme: condensed-night-purple1问:@Transactional注解可以作用于哪些地方?作用于类:当把@Transactional 注解放在类上时,表示所有该类的 public 方法都配置相同的事务属性信息,需注意,只有 public 方法才会生效,此处是因为 AOP 的特性原因作用于方法:当类配置了@Transactional,方法也配置了@Trans...
2021-09-06 12:23:59
85
原创 接口返回值一定不允许使用枚举类型吗?
引言在这一周的工作中碰到一个业务场景,需要叫旁边的同事,李同学开了一个接口,发现给我的返回值中带了枚举类型的变量,我顺口提了一嘴,这种接口返回值最好不要用这种包含枚举类型的对象李同学问我为什么,我就直接说了,在《Java开发手册》中强制规定二方库里可以定义枚举类型,参数可以使用枚举类型,但是接口返回值不允许使用枚举类型或者包含枚举类型的 POJO 对象但是,事后想了一想,孤尽老师在《手册》中写的的这条规定一定正确吗?正文杨小帅:不懂同学,你这个接口咋回事,序列化异常了?不懂尽管心里慌的一
2021-08-09 12:44:40
1133
原创 是谁,在暗中观察
前言???? 王经理:上课了,上课了,今天讲一下什么是观察者模式,我们平时的代码实践中,很多都有观察者模式的思想运用,今天可是干货满满,好好听,不懂同学,你咋还在发呆???? 甄不懂:王经理,你可别提了,小美发了个朋友圈,说是想看电影,我刚点了个赞,准备去找她让她今晚和我一起去,结果手机瞬间50多个消息,一看全是给小美点赞的,我肯定没希望了???? 甄不懂:经理还是你正道的光,让小美留下来和我一起加班,别去看电影???? 王经理:你好好听今天的课,表现的好,我让小美和你一起看电影???? 不懂
2021-08-02 13:05:12
115
原创 是谁,在暗中观察| 8月更文挑战
theme: channing-cyan前言???? 王经理:上课了,上课了,今天讲一下什么是观察者模式,我们平时的代码实践中,很多都有观察者模式的思想运用,今天可是干货满满,好好听,不懂同学,你咋还在发呆???? 甄不懂:王经理,你可别提了,小美发了个朋友圈,说是想看电影,我刚点了个赞,准备去找她让她今晚和我一起去,结果手机瞬间50多个消息,一看全是给小美点赞的,我肯定没希望了????...
2021-08-02 12:47:44
91
原创 生产上数据库死锁,是该程序员祭天了
Hello,大家好,我是 Skow阅读这篇文章之前,大家可以问问自己何为死锁?Mysql具有哪些锁?Mysql 的锁模式兼容矩阵你是否清楚?如何排查死锁问题?如果你可以闭着眼睛回答出来这些问题的,那么就默默点赞离开????????如果你对上面的知识点,还有点含糊不清,那么这篇文章将会带你从一个真实业务场景入手,分析死锁问题,希望本文对你有所帮助,Let's go ????业务背景目前我司有两个系统 A 系统、B系统A 系统存放着公司所有人员的信息B 系统需要日终定时从 A 系统同步数据人员已在 B 系统中存
2021-07-26 12:40:37
247
2
原创 京东提前批一面,面试官说我基础还行
theme: channing-cyan 来自京东校招面试,一面还是主要偏基础,大家可以来查缺补漏一下一面 50minJava 中有个 Object 基类,里面有两个方法:hashcode()、equals(),他们是做什么的?List 集合,ArrayList 和 LinkedList 有什么区别?LinkedList不支持随机访问,但是我们 List 接口肯定有...
2021-07-24 13:49:41
90
原创 策略+IOC 消灭ifelse,拿来吧你
前言策略模式 简单来说就是定义了一个算法的大家族,分别封装起来,让他们之间可以互相替换,算法的变化不会影响到使用算法的用户简单来说,你的女朋友 618 在淘宝买东西,有许多折扣活动,比如满减、折扣、0元购普通的实现的话,就是这样不对,你没有女朋友,但是!这并不影响我们理解策略模式,我们继续策略模式本质就是用来消除 上图的ifelse 带给我们的恐惧接下来让我们实践一下实现一下我们先定义一个促销接口 PromotionStrategy接下来三种的促销策略全部去实现这个促销接口,不一一贴图了我们拿0元购的 Fe
2021-07-19 12:22:05
201
1
原创 从装大象中我们学会了什么设计模式
如何把一个大象装进冰箱首先打开冰箱门,然后把大象赶进去,最后,piaji,关上冰箱门 ????这样我们就收获了一只野生大象装大象这样固定的三步走,和设计模式之模板方法是不是有点神似之处?那么,模板方法到底给我们提供了什么样的编码技巧,什么场景下可以去使用模板方法,框架中有没有对模板方法的运用,真实的业务场景又是如何使用该设计模式的,你在这一文都可以得到解答。目录定义样例解析业务运用框架运用阅读本文约需 6 分钟 ✍️定义模板方法 作为一种行为型的设计模式,本质是定义好了一个算
2021-07-12 12:50:51
111
原创 面试官竟然和我死磕 Maven
theme: channing-cyan引言Maven 是 Apache 软件基金会唯一维护的一款自动化构建工具,专注于服务Java平台的项目构建和依赖管理。先来问问自己几个问题Maven的依赖寻找顺序、scope范围、生命周期、依赖原则、如何解决依赖冲突、为何不让自定义二方包版本号,如果你能顺利的回答出来,那么快点个赞再出去。????如果你只是含糊其辞,那么可以看看下面的文章,...
2021-07-05 12:42:34
68
原创 3 分钟简单理解桥接模式
目录引言适用场景代码举例阅读本文大概需要 3 分钟,看完一键三连走起引言桥接(Bridge)属于是属于结构型的设计模式用于把抽象化与实现化解耦,用于将抽象部分和具体实现部分分离,使他们可以独立变化(太拗口,下文会展开解释)桥接模式我们优先通过组合方式来实现两个类的联系,而不是继承桥接模式的优点是便于抽象和实现的分离;并且提供优秀的扩展能力,其实现细节也是对客户透...
2021-06-27 16:22:19
121
原创 真实业务场景了解适配器模式
theme: channing-cyan阅读本文大概需要 10 分钟本文目录引言适用场景简单例子编码业务场景举例框架运用举例引言小明和小红从中国出发到英国玩,到了酒店的房间小红 ????:我手机怎么没电了,我要充电,不对啊,小明你看外国的插座和我们中国的咋不一样,我的充电器只有两个头,为什么这个插座是三个头小明 ????:宝,咋们中国的手机充电器是阴极、阳极,外国多...
2021-06-23 12:20:58
75
原创 从真实业务场景了解适配器模式
阅读本文大概需要 10 分钟本文目录引言适用场景简单例子编码业务场景举例框架运用举例引言小明和小红从中国出发到英国玩,到了酒店的房间小红 ????:我手机怎么没电了,我要充电,不对啊,小明你看外国的插座和我们中国的咋不一样,我的充电器只有两个头,为什么这个插座是三个头小明 ????:宝,咋们中国的手机充电器是阴极、阳极,外国多了一个地极,所以我们需要一个 “适配器” 就可以给我们手机充电啦小红 ????:那你带了吗?小明 ????:没有小明卒,本文结束。例子虽然不咋样,但是
2021-06-22 12:22:05
286
原创 来自大厂的11条异常最佳实践
theme: condensed-night-purple引言此文的灵感来自于异常,这个名词对于开发同学来说应该非常不陌生,是在我们程序出现错误或者业务逻辑不通的时候,给予程序一个安全退出的通道如何优雅的进行异常处理是一门艺术,本文就给大家提一提处理异常的正确姿势(默认阅读本文的小伙伴已经掌握了异常相关的基础知识)优雅异常处理线上代码禁止使用 printStac...
2021-05-31 12:39:52
62
原创 工厂设计模式,这几个问题你知道吗?
你知道吗?关于工厂的设计模式有几种?哪一种工厂模式不属于 23 种设计模式三种工厂模式都解决了什么问题,在框架中有什么运用如果你能流利的答出以上所有问题,那么????恭喜你,可以直接点赞这篇文章,然后退出了。如果你不能流利的答出,那么好好看一看这篇文章,希望你有所得目录如下1-简单工厂定义场景举例瞎写代码优雅实现框架运用2-工厂方法同上3-抽象工厂同上4-小结测试代码地址:工厂模式1-简单工厂定义???? 简单工厂属于创建型的设计模式虽然
2021-05-26 12:44:03
283
1
原创 你被空指针折磨过吗?
作者爱说话Hello,大家好,我是 「行云」这是原创的第 「11」 篇文章,希望今天这篇文章能带给你一点思考和启发上一周接受了一个任务,排期比较赶,由于开发数据库的数据问题,在调试的过程中,在我认为业务规则下数据不应该为空的地方,抛出的 NPE ,简直折磨死个人,并且使用的是公司自研的框架,不支持热部署,模块还巨多,每改动一次都得重新打包再启动,所以这一期就聊一聊这个大家耳熟能详的 N...
2020-09-16 19:26:49
69
原创 你慎用继承了吗?
作者爱说话Hello,大家好,我是 行云这是原创的第 10 篇文章,希望今天这篇文章能带给你一点思考和启发前阵子听朋友说,什么垃圾垃圾公众号文章,我说咋了,他说微信公众号推的啥,“面试阿里 P7 岗,第六题就被干掉”、“十年码农面试,被微服务坑惨了,真实经历”、“新来的同事把项目性能优化了一遍,看看他是怎么做到了?”因为我也写微信公众号,我听到这些文章,我就觉得,应该是“恰饭”文章,我不反对“恰饭”文章,因为不管每一篇文章质量如何,只要是原创的文章,后面必定是作者用心的输出,只要是有用心的付出都必定
2020-09-07 09:03:42
405
原创 Java 开发,设计先行
作者爱说话Hello,大家好,我是 行云 ☁️本来这周想接着写集合相关的源码解析,但是坐下来的时候,突然想暂时(shui)换(yi)个(pian)方向不知道有多少小伙伴,之前没有在开发前设计过时序图,开发的时候,最多直接写个开发文档,直接梭哈那今天来了解一下?Java 开发,设计先行林布丁:清幽现南山,虚静出内功林步动:步动,你怎么还念起诗了林布丁:哈哈,表哥,我最近在看阿里的《Java 开发手册》,我看到了一条设计规约,你瞅瞅林步动:这个规约说的没毛病啊林布丁:那表哥我问你啊, 什么
2020-09-02 12:33:45
328
原创 别孤寡了,看看这篇 LinkedList 不香吗?
作者爱说话Hello,我是 isysc这是坚持原创的第8篇文章每次写完文章都感觉,糟了糟了,爆文预定了,怎么办怎么办。等到正式发出去的时候,才知道,原来是想太多了。每次写文章的选题都是一件很纠结的事,就比如我从下午 5.30 坐在电脑前想选题到了 6 点,终于决定好了,还是先去吃饭吧。回来的路上终于有了灵感,写一些集合相关的源码?Got it背景引入虽然今天阳光明媚,但是林布丁的心里却下起了雨,不是因为女朋友的傲娇,而是今天上午面试官说的 “ArrayList和...
2020-08-25 19:24:54
175
原创 你的 Git 还在用小乌龟?
作者爱讲话八月伊始,杭州也越来越热的,但是看着明媚的天气,心情还是很好的。最近看了《乐队的夏天》,被 Muma木马 乐队,疯狂圈粉,乐队主唱木玛说:“木马就像一个被我们弄坏的玩具,现在我们把它找回来了,是一个新的木马”(背景:Muma木马乐队解散过)一下子,就想起自己大学和几个学长组过的乐队,地下室排练的时光还是很简单很快乐的,但是可能大学最大的遗憾也就是没有把这个乐队坚持到底吧。说回 Muma木马,听了 Muma木马的《旧城之王》,感觉的歌词写的很有意思,非常的抽象,上了知乎有很多说歌词是故意拼
2020-08-04 19:22:08
860
原创 不会吧,不会吧?MySQL 索引最佳实践你不看看
作者爱说话忙忙碌碌的一周又过去了,这周最大的乐趣就是买了个小音箱,又可以下班的时候开始愉快的开始练琴了,程序员嘛,还是得培养点艺术细菌。哈哈这周本来没想好写什么东西,刚好周五公司进行了内部技术分享,内容为《MySQL索引讲解 + 最佳实践》,摘出了几条重要,和较常见的和大家一起分享,当然还有很多没有涉及到,关于索引的知识点,就不具体展开讲解,本来想转载一篇文章与大家分享,但是卑微的我还没加上原作者微信,有兴趣的话可以公众号内回复“唯一索引和普通索引”。我将原文地址推荐给你。现在你可以洗洗
2020-07-27 18:55:41
202
原创 MySQL 索引的最佳实践分享
作者爱说话忙忙碌碌的一周又过去了,这周最大的乐趣就是买了个小音箱,又可以下班的时候开始愉快的开始练琴了,程序员嘛,还是得培养点艺术细菌。哈哈这周本来没想好写什么东西,刚好周五公司进行了内部技术分享,内容为《MySQL索引讲解 + 最佳实践》,摘出了几条重要,和较常见的和大家一起分享,当然还有很多没有涉及到,关于索引的知识点,就不具体展开讲解,本来想转载一篇文章与大家分享,但是卑微的我还没加上...
2020-07-27 10:39:31
248
原创 不爬山,不拍照!《设计模式入门到入坑》第一课
作者爱说话今天是刚好来杭州的第二周,也是一个惬意的周五,很巧也是我的生日,未来的工作可能会很忙,还是会继续坚持 sharing (本来昨天发的,但是还想完善完善就又拖了一天,哈哈。奥利给)力求通过诙谐的形式讲解各种设计模式的巧妙之处,带你设计模式从入门到入坑,做到别人加班,你加薪! Go外观模式引入王经理????:上课啦!林步动和郝美丽到了没?小林????:到了,经理。小美????:我在这,经理。王经理:好,那我们来上课,今天我们来讲一种类型为结构型的设计模式,就是外观模式
2020-07-18 16:16:22
157
原创 3分钟为女同事解决Maven依赖冲突,不香吗?
小林的艳遇这天小林无所事事准备下班,突然听见隔壁小美在哭泣,正(hao)义(se)的小林过去关切的问 “小美,你怎么了?是不是被该死的王经理欺负了?”,小美抽泣着点点头 “经理叫我把这个 Maven 的红色波浪线去掉,可是我一直去不掉。”正(hao)义(se)的小林心想又是一次约女神吃饭的好机会,小林立马说 “交给我了,这么晚了,我弄完一起吃个饭啊?”小美看着小林说,“你真的可以吗?”小林拍了拍胸脯说 “男人,有什么不行的”小美的困惑(何为依赖冲突?)小林,看了看屏幕 很明显,就是这个
2020-07-14 19:05:20
361
原创 写错一条 SQL,经理叫我和他一起爬山?
前戏SQL 写的秒,涨薪呱呱叫!新来的实习生小杨写了一条 SQL 语句SELECT wx_id from `user` WHERE wx_id = 2当小杨迫不及待准备下班回家的时候,隔壁的王经理一把抓住了小杨,并用 EXPLAIN 命令教育了小杨,小杨流下了没有文化的泪水。这条 SQL 语句中,wx_id 是具有索引的,但是王经理查出来的结果却是这样的小杨仔细一瞅 key 字段显示为 Null,很明显这条SQL语句没有走索引。小杨心想“糟糕,又写错 SQL 语句了,这下又要面临运维和经理
2020-07-08 19:57:21
445
原创 数据库的多表运动(Join)
走进阿里索引规约阿里索引规约阿里Java开发手册,索引规约中,强制规范我们禁止对三个及以上的表进行 join ,并且就算两个表的 join 也要注意索引,SQL性能。阿里的这一条规约说明虽然 join 很好用,但是使用不当会对我们的性能造成极大的问题,接下来我们来探究下 join 的神秘面纱什么是 joinjoin 分类从图中,可以简单归纳 join 就是可以根据某些条件把指定的表给结...
2020-07-06 09:55:58
321
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人