0%

前言

近期在维护公司的调度平台,其中有个关键功能那就是定时任务;定时任务大家平时肯定接触的不少,比如 JDK 中的 TimerScheduledExecutorService、调度框架 Quartz 等。

通常用于实现 XX 时间后的延时任务,或周期性任务;

比如一个常见的业务场景:用户下单 N 分钟未能支付便自动取消订单。

实现这类需求通常有两种方式:

  • 轮询定时任务:给定周期内扫描所有未支付的订单,查看时间是否到期。
  • 延时消息:订单创建的时候发送一条 N 分钟到期的信息,一旦消息消费后便可判断订单是否可以取消。
Read more »

前言

最近个人事情比较多(搬家、换工作、短暂休息)所以一直也没有顾得上博客更新,恰好最近收到一封邮件提醒了我。

也是时候写一篇文章来聊聊参与开源项目的事(最近也确实进入了笔荒期)。

ps:第一次收到这样的中秋节礼物,加上 Dubbo 社区的活跃及阿里的重视度,还在做 PRC 或微服务技术选型的朋友可以考虑 Dubbo

Read more »

前言

最近稍微闲了一点于是把这个半年都没更新的开源项目 cicada 重新捡了起来。

一些新关注的朋友应该还不知道这项目是干啥的?先来看看官方介绍吧(其实就我自己写的😀)

cicada: 基于 Netty4 实现的快速、轻量级 WEB 框架;没有过多的依赖,核心 jar 包仅 30KB

Read more »

前言

前不久帮同事一起 review 一个 job 执行缓慢的问题时发现不少朋友在撸码实现功能时还是有需要细节不够注意,于是便有了这篇文章。

ArrayList 踩坑

1
2
3
4
5
6
7
List<String> temp = new ArrayList() ;

//获取一批数据
List<String> all = getData();
for(String str : all) {
temp.add(str);
}

首先大家看看这段代码有什么问题嘛?

Read more »