Java延时任务方案

背景

延时任务在日常业务中的使用是比较常见的。例如对于电商而言常见的场景:

  1. 当订单一直处于未支付的状态,需要在一定时间后关闭订单,退还库存。
  2. 订单完成15天后未评价自动评价等等…

对于我们目前的业务而言,主要的应用场景是与外部系统接口的对接使用上,例如风控、大数据、信审等系统(大部分都是异步逻辑,调用 -> 等待回调)。因为我们要保证流程最大成功率的流转(当然谁也没法保证100%的成功),防止用户流程停滞产生卡单。但是由于网络环境的不可控性,短时间内可能存在波动,如果使用简单的立即重试逻辑,经常出现连续的失败,且可能对目标系统产生一定的负载压力。对此种情况,可能简单的延时30秒后重试就成功了。所以延时任务的需求就出来了,那么有哪些常见的方案呢?

[Java源码]Character

这次来看看Character的源代码,基于 jdk1.8.0_181.jdk 版本,如有错误,欢迎联系指出。这也是Java的8个基础数据类型的最后一篇解析了,如果你还没看过其他的,可以去文章列表查看下其他的源码分析文章。

Java中字符串的正则替换

最近有个需求中间过程比较复杂,再三考虑决定使用正则表达式替换逻辑去简化复杂度,但是在处理的过程中发现正则表达式全局替换特定匹配组并没有很好的现成方法,所以记录下自己的解决方案。

[Java源码]Boolean

因为业务发展关系,前段时间将一个风控平台从Ruby语言迁移到了Java平台,基于Spring进行了重构,写了一段时间Java后,自己发现竟然还挺喜欢的(可能因为那段时间真的深深体会了 动态语言一时爽,重构火葬场 的玩笑)。所以后续决定阅读部分源码进行深入提升Java水平,网上搜索了一番,看到了很多的推荐,例如Spring框架的源码之类的,还有一些其他的开源组件项目,但是后面想想还是先从Java基础入手吧,于是就有了这篇文章,从最简单的Boolean开始。