前言 好了,回归到今天的主题,今天分享一下支付系统中异常一些处理方式。 其实这些处理方式并不只是局限于支付系统,也可以适用于其他系统,大家可以借鉴,应用到自己系统中,提高自己系统的健壮性。 异常是系统运行不可避免会发生的问题,如果一切都正常,我们的系统设计将会相当简单。 但是可惜没有人能做到这一点,所以为了处理异常可能导致的问题,我们不得不需要加上很多额外的设计,用来应对这些异常。 可以说系统设计中,异常处理需要我们着重思考,将会占据我们大部分的精力。 下面我们先来看下支付系统中最常见的异常:掉单 掉单异常 一个最…

2022-10-01 0条评论 924点热度 0人点赞 admin 阅读全文

使用flex布局,在每一行上,需要固定X个元素,超过的元素做换行处理。 假设如下Html代码: <div class="parent"> <div class="child"></div> <div class="child"></div> <div class="child"></div> <div class="child"></div> <div class="child"></div…

2022-09-30 0条评论 2484点热度 0人点赞 admin 阅读全文

某些场合下(例如表单填写、需要打印手写签字等地方)需要给文字或者div增加下划线,这里记录下我遇到的几种实现方案。 文字下划线 给文字添加下划线其实比较简单,使用如下属性: text-decoration 属性 这个属性可以给文字设置一下装饰效果,比如删除线,下划线啥的。 text-decoration: overline 上划线 text-decoration: line-through 贯穿线 text-decoration: underline 下划线 text-decoration: blink 闪烁 te…

2022-09-29 0条评论 1905点热度 0人点赞 admin 阅读全文

Redis是一个非常流行的key-value存储系统,而作为其官方推荐的Java版客户端 Jedis也非常强大和稳定。 在单个客户端中,如果需要读写大量数据,可以考虑采用管道(Pipeline)方式。如果采用管道方式,那么多条命令可以通过批量的方式一次性地发送到服务器,而结果也会一次性返回到客户端。 本文将介绍Redis 使用管道(Pipeline)方式提升操作性能。 一、管道(Pipeline) 未使用管道方式执行N条命令,如图所示: 管道(Pipeline):一次向Redis发送多条命令。 客户端可以一次性发送…

2022-09-28 0条评论 781点热度 0人点赞 admin 阅读全文

电商当项目经验已经非常普遍了,不管你是包装的还是真实的,起码要能讲清楚电商中常见的问题,比如库存的操作怎么防止商品被超卖 解决方案 分析 基于数据库单库存 基于数据库多库存 基于redis 基于redis实现扣减库存的具体实现 初始化库存回调函数(IStockCallback) 扣减库存服务(StockService) 调用 在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。 解决方案 使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。 还是使用…

2022-09-26 0条评论 645点热度 0人点赞 admin 阅读全文

简介 布隆过滤器(BloomFilter)是一种用于判断元素是否存在的方式,它的空间成本非常小,速度也很快。 但是由于它是基于概率的,因此它存在一定的误判率,它的Contains()操作如果返回true只是表示元素可能存在集合内,返回false则表示元素一定不存在集合内。因此适合用于能够容忍一定误判元素存在集合内的场景,比如缓存。 它一秒能够进行上百万次操作(主要取决于哈希函数的速度),并且1亿数据在误判率1%的情况下,只需要114MB内存。 原理 数据结构 布隆过滤器的数据结构是一个位向量,也就是一个由0、1所组…

2022-09-25 0条评论 606点热度 0人点赞 admin 阅读全文

要在网页上显示类似O2(氧气)、m2(立方米)这样带上下标的。 先上示例代码,再解释: O<span style="vertical-align: sub;">2</span> m<span style="vertical-align: super;">2</span> 在css中,可以使用vertical-align 属性的sub、super或者text-top、text-bottom属性值来显示文字的上标和下标。下面我们就来介绍一下css vertical-ali…

2022-09-23 0条评论 997点热度 0人点赞 admin 阅读全文

接口java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。ExecutorService 的实现就是一个线程池的实现。 一、ExecutorService 示例代码 下面是使用Java 实现的ExecutorService 示例代码: import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ExecutorSer…

2022-09-20 0条评论 681点热度 0人点赞 admin 阅读全文

MySQL字符串截取,需要用到substr(等价于或者) SUBSTR(string, start, length) substring(string, start, length) mid(string, start, length) 或者: SUBSTR(string FROM start FOR length) substring(string FROM start FOR length) mid(string FROM start FOR length) 参数说明 参数 说明 string 必填。需要处理的…

2022-09-19 0条评论 646点热度 0人点赞 admin 阅读全文

需要做一个简单的订单号生成规则,并发量不是特别高,从订单号上不要体现出订单的真实数量(例如自增长的ID就会暴露订单数量给用户看到) 示例我是写的订单号生成器,生成类似这样子的的16位订单号。 /** * @author Terry E-mail: yaoxinghuo at 126 dot com * @date 2022/3/4 22:57 * @description */ public class OrderUtils { private static int serial = 0; // 序列号倒数5位的前…

2022-09-18 0条评论 977点热度 0人点赞 admin 阅读全文
1131415161756