短链接生成
import java.util.Random; /** * 将10进制转换成62进制 * * @author jonyliu * @date 2021/11/10 10:55 */ public class ShortUrlUtil { public static String REDIS_KEY = "SHORT_URL_ID"; privat…
分布式事务的几种解决方案
1、什么是分布式事务 谈到事务,我们就会想到数据库事务,很容易就想到原子性、一致性、持久性、隔离性。 分布式事务跟数据库事务有点不一样,它是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单来说,分布式事务指的就是分布式系统中的事务,它的存在就是为了保证不同数据库节点的数据一致性。 2、分布式事务…
AOT 和 JIT 的对比
AOT(Ahead of Time)和 JIT(Just in Time)是两种不同的编译策略,用于将高级编程语言(如 JavaScript、Java 或 C#)编译成机器代码。生动形象地理解它们,可以类比为准备做饭时的两种不同方式:事先做好所有准备(AOT)和在做饭过程中边准备边烹饪(JIT)。 1. JIT 编译:即时编译(Just in Ti…
多线程任务实战
1、创建线程池 根据服务器配置设置线程池参数,如下是标准配置: package ... import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springf…
Redis实现分布式锁
package ...; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import org.springframework.data.redis.connectio…
JVM调优和OOM
一、问题描述 部分银行的支付交易会通过银保通专线使用Socket进行通信,在银保通前置机(Windows Server 2012R)上使用 SocketDispatch 小程序对请求进行转发操作,长时间的运行会出现宕机问题,通过查询错误日志发现服务出现了内存溢出异常(OutOfMemoryError, OOM)。 二、问题定位 1.日志分析 Exc…
git常用命令
1、常用命令 git clone https://github.com/Jony-Liu/myrabbitmq.git git clone -b jonyliu https://github.com/Jony-Liu/myrabbitmq.git git checkout -b jonyliu //查看本地分支,-b 如果没有则新建 git add…
Oracle存储过程
Oracle存储过程包含三部分: 过程声明 执行过程部分 存储过程异常(可写可不写,要增强脚本的容错性和调试的方便性那就写上异常处理) 无参存储过程 CREATE OR REPLACE PROCEDURE demo AS/IS 变量2 DATE; 变量3 NUMBER; BEGIN --要处理的业务逻辑 EXCEPTION --存储过程异常 END…
MySQL知识点
1、数据库的三范式是什么 1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非主键字段不能相互依赖; 关于第二范式:当存在多个主键的时候,才会发生不符合第二范式的情况,不存在对主键的部分依赖。 关于第三范式:满足第二范式前提,如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那么这个属性就是间接依赖于主键,这被称作传…
世界,您好!
欢迎使用 WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!