排序
实现订单 30 分钟未支付则自动取消,我有五种方案!
引言 方案分析 数据库轮询 JDK的延迟队列 时间轮算法 redis缓存 使用消息队列 1引言 在开发中,往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用...
微服务框架之争:Quarkus 是 SpringBoot 的替代品吗?
1概述 SpringBoot框架不用多介绍,Java程序员想必都知道。相对来说熟悉Quarkus的人可能会少一些。Quarkus首页放出的标语:超音速亚原子的Java(Supersonic Subatomic Java)。 它是为 OpenJDK H...
最强分布式锁工具:Redisson
大家好,我是阿飞云 怕什么真理无穷,进一步有近一步的欢喜 前言 前面介绍了Java synchronized关键字和Java juc中的Lock相关的东西,如下 单机的时候用Java自带的锁可以实现大多数锁的场景,但...
还在用 SimpleDateFormat 做时间格式化?小心项目崩掉!
点击关注公众号,利用碎片时间学习 SimpleDateFormat.parse() 方法的线程安全问题 错误示例 非线程安全原因分析 解决方法 SimpleDateFormat.format() 方法的线程安全问题 错误示例 非线程安全原...
RabbitMQ学习一快速认知和初步使用
什么是MQ消息中间件及使用场景 全称MessageQueue,主要是⽤于程序和程序直接通信,异步+解耦+削峰 异步:用户注册-》发送邮件(注册活动) 解耦:订单系统-》物流系统 削峰:秒杀,日志处理 JMS...
LeetCode算法系列(Java版) 62. 不同路径
LeetCode算法系列(Java版) 62. 不同路径LeetCode算法系列(Java版) 63. 不同路径 II 力扣原题 62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。...
万字详解常用设计模式
本文是博主在工作中对常用设计模式的使用经验总结归纳而来分享给大家。 设计模式一共有23种,本文讲解涉及如下: 责任链模式 模板方法模式 发布订阅模式 策略模式 三大分类 业界一般将设计模式...
dubbo重点,SPI的自适应扩展原理|原创
本文从为什么需要自适应扩展的提问引出自己如何实现以及推理 Dubbo 如何实现,这些铺垫可以帮助读者更好的理解后文对 Dubbo 自适应扩展源码的解读。 点击上方“后端开发技术”,选择“设为星标...
【Java 集合框架】TreeMap
TreeMap 是 Java Collections Framework 中的一员,是一个基于红黑树的 NavigableMap 实现。 TreeMap 根据不同的构造函数会对映射进行排序,默认是其键的自然顺序;在创建时如果提供了 Comparat...