延时消息是如何实现的?

Java 

前言延时消息是项目中经常用到的一种解决方案, 本篇文章我们就来尝试探探它到底是如何实现的?以及有哪些方案。面试看了回家等通知版为了更能直观的感受,我们还是通过案例来进行表述。万年不变老案例:下单5分钟后,支付超时取消订单。 public void order(){ // 假设这里

我是如何设计函数引擎的

Java 

前言项目里存在一个这样的系统,它的主要功能类似于适配器,将一个系统的异构数据进行转化,处理成标准的数据流,交给另一个平台系统。当然,也可以反过来理解,有一个平台级系统,需要从多种数据源(系统)中采集数据,每种数据源的数据结构都不相同,需要有个中间人进行转化。这个系统就承担了这样的角色。这样的架构虽然

Java实现将视频转换为mp4格式

Java 

Java转换视频可以用JJmpeg, 而JJmpeg其实是对ffmpeg的封装,所以需要做两件事:在项目中引入JJmpeg在服务器上安装ffmpeg在服务器上安装ffmpeg1、下载安装包http://ffmpeg.org/download.html#build-linux选择对应的版本2、解压ta

MacOS切换JDK版本

Java 

1.打开terminal/usr/libexec/java_home -V 2.查看当前java版本java -version 3.切换到jdk1.8export JAVA_HOME=`/usr/libexec/java_home -v 1.8`4.将其设置为默认JDK版本(可选)open ~/.b

如何使用注解实现分布式锁

Java 

如何使用注解实现分布式锁前言分布式锁想必大家并不陌生:控制分布式系统之间同步访问共享资源的一种方式。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。实现分布式锁的方式多种多样,但一般来

Java Duration格式

Java 

记录一下java中Duration的格式

SPI机制

Java 

SPISPI ,全称为 Service Provider Interface(服务提供者接口),是一种服务发现机制。它通过在classpath路径下的META-INF/services文件夹查找文件,自动加载文件中所定义的类。作用比如在远程调用服务中,一个A服务调用B服务时,当B服务具备多个实例时,

如何发布Java项目到Maven中央仓库

Java 

如何发布Java项目到Maven中央仓库本文主要记录了「发布Java项目到Maven中央仓库」这一过程。大概分为以下步骤:准备一个项目并发布到github上去https://issues.sonatype.org建立工单将项目发布到https://oss.sonatype.org最后在https:/

Java Annotation Processor

Java 

本篇内容意图介绍什么是Java Annotation Processor(注解处理器),我们可以用它来做什么?如何编写它?

安装 java visual vm 插件

Java 

插件地址 https://visualvm.github.io/pluginscenters.html找到对应jdk版本的插件url 如jdk7:https://visualvm.github.io/archive/uc/8u40/updates.xml.gz在命令行输入命令jvisualvm打开J