概述 如图是一个简化的下单流程,首先是提交订单,然后是支付。支付的话,一般是走支付网关(支付中心),然后支付中心与第三方支付渠道(微信、支付宝、银联)交互,支付成功以后,异步通知支付中心,支付中心更新自身支付订单状态,再通知业务应用,各业务再更新各自订单状态。 这个过程中经常可能遇到的问题是掉单,无论是超时未收到回调通知也好,还是程序自身报错也好,…
Java多线程编程 Java进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位。 可以把进程简单的理解为正在操作系统中运行的一个程序。 Java线程 线程(thread)是进程的一个执行单元。 一个线程就是进程中一个单一顺序的控制流, 进程的一个执行分支。 进程是线程的容器,一个进程至…
什么是 Stream? Stream(流)是一个来自数据源的元素队列并支持聚合操作 元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。 数据源 流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。 聚合操作 类似SQL语句一样的操作, 比如filter, map, redu…
YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。YAML的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。主要强度这种语音是以数据为中心,而不是以标记语音为重心,例如像xml语言就会使用大量的标记。 YAML是一个可读性高,易于理解,用来表达数…
最近在用 Mybatis-Plus,嗯,是真他妈香!!!今天就来说说 Mybatis-Plus 的那些使用技巧 创建user表 DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEF…
Lombok的基本使用 1.Lombok的使用非常简单: Lombok plugin 插件 Intellij idea 使用Lombok需要安装插件:Lombok plugin: Preferences —> Plugins —> 搜索 Lombok plugin — > Install 引入相应的maven包 <!-- lombok --&…
相同点: @Component为@Service、@Controller、@Repository的元注解,四个实现功能是一样的 不同点为区分业务层: 1.@Component 业务特殊组件层,如handler类 2.@Controller 业务控制层 3.@Service 业务逻辑层 4.@Repository 业务资源层 总结 @Componen…