<导航
摘要: 一般根据条件更新表,都是先查询出具体行,再根据id更新即updateById,这样做的好处是行锁,减少锁的数据范围。但最近有个审核通过重复提交导致审核通过后续业务如重复扣款等问题,这里更新表状态时即可以利用状态机幂等机制防重处理。 伪代码: //修改为状态机幂等处理,防止重复审核造成业务金额重复扣减 阅读全文
posted @ 2023-06-21 15:06 字节悦动 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 这篇文章来聊一聊如何去阅读开源项目的源码。 在聊如何去阅读源码之前,先来简单说一下为什么要去阅读源码,大致可分为以下几点原因: 最直接的原因,就是面试需要,面试喜欢问源码,读完源码才可以跟面试官battle 提升自己的编程水平,学习编程思想和和代码技巧 熟悉技术实现细节,提高设计能力 ... 微信读 阅读全文
posted @ 2023-03-14 10:24 字节悦动 阅读(138) 评论(0) 推荐(2) 编辑
摘要: 作为后端开发,我们经常需要设计数据库表。整理了 21 个设计 MySQL 表的经验准则,分享给大家,大家看完一定会有帮助的。 1.命名规范 数据库表名、字段名、索引名等都需要命名规范,可读性高(一般要求用英文),让别人一看命名,就知道这个字段表示什么意思。 比如一个表的账号字段,反例如下: acc_ 阅读全文
posted @ 2023-03-13 21:05 字节悦动 阅读(1633) 评论(0) 推荐(5) 编辑
摘要: 转载掘金:yes的练级攻略 “yes,你看着这鬼代码,竟然在 for 循环里面搞了个 try-catch,不知道try-catch有性能损耗吗?”老陈煞有其事地指着屏幕里的代码: for (int i = 0; i < 5000; i++) { try { dosth } catch (Except 阅读全文
posted @ 2023-03-07 17:00 字节悦动 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 所谓的大事务就是耗时比较长的事务。 Spring有两种方式实现事务,分别是「编程式」和「声明式」两种。 不手动开启事务,mysql 默认自动提交事务,一条语句执行完自动提交。 大事务产生的原因 操作的数据比较多 调用了 rpc 方法 有其他非 DB 的耗时操作 大量的锁竞争 执行了比较耗时的计算 大 阅读全文
posted @ 2023-03-07 10:10 字节悦动 阅读(230) 评论(0) 推荐(1) 编辑
摘要: 1、指定key-value,value是对象中的某个属性值。 Map<Integer,String> userMap = userList.stream().collect(Collectors.toMap(User::getId,User::getName)); 2、指定key-value,val 阅读全文
posted @ 2023-02-04 18:27 字节悦动 阅读(1514) 评论(0) 推荐(2) 编辑
摘要: 本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明。 键值设计 命令使用 客户端使用 相关工具 删除bigkey 通过本文的介绍可以减少使用Redis过程带来的问题。 一、键值设计 1、key名设计 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如 阅读全文
posted @ 2023-01-03 14:03 字节悦动 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 前言 Git每次提交代码都需要写commit message,否则就不允许提交。一般来说,commit message应该清晰明了,说明本次提交的目的,具体做了什么操作……但是在日常开发中,大家的commit message千奇百怪,中英文混合使用、fix bug等各种笼统的message司空见怪, 阅读全文
posted @ 2023-01-03 06:27 字节悦动 阅读(469) 评论(0) 推荐(1) 编辑
摘要: 依赖倒转原则(Dependency Inversion Principle,简称DIP)是指将两个模块之间的依赖关系倒置为依赖抽象类或接口。具体有两层含义: 高层模块不应该依赖于低层模块,二者都应该依赖于抽象; 抽象不应该依赖于细节,细节应该依赖于抽象。 依赖倒转(倒置)的中心思想是面向接口编程。 阅读全文
posted @ 2022-11-29 06:06 字节悦动 阅读(655) 评论(0) 推荐(1) 编辑
摘要: 一、Freemarker取值 基础语法种类 注释:即<#-- -->,介于其之间的内容会被freemarker忽略 插值:即 ${..} 部分,freemarker会用真实的值代替${..} FTL指令:<# >FTL指令</#> ,和HTML标记类似,名字前加#予以区分,Freemarker会解析 阅读全文
posted @ 2022-11-28 23:14 字节悦动 阅读(1137) 评论(0) 推荐(0) 编辑