01什么是接口幂等性接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生副作用;比如支付场景。02哪些情况需要防止用户多次点击按钮用户页面回退再次提交微服务相互调用,请求失败,feign触发重试机制03什么情况下需要幂等以sql为例,有些操作是天然幂等的。s
LockSupportpackage com.fzkj.juc.locksupport;import java.util.concurrent.locks.LockSupport;/** * @DESCRIPTION */public class LockSupportDemo { /**
一、公平锁/非公平锁公平锁在并发环境下,每个线程在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的第一个,就占有锁,否则就会加入等待队列,然后按照FIFO的规则进行等待。非公平锁一上来就获取锁,如果失败,再采用公平锁的方式。二、可重入锁/递归锁这两个锁其实是一个锁的两种叫法,本
一、ArrayList集合1、现象 /** * 1、可能会抛出 * java.util.ConcurrentModificationException(并发修改异常) * 2、导致原因 * * 3、解决方案 * @param */
volatile是java虚拟机提供的一种轻量级的同步机制,它有三个重要的特性:保证可见性不保证原子性禁止指令重排要理解这三个特性,就需要对JMM(JAVA内存模型)有一定的了解才行。一、JMM(JAVA内存模型)JMM是 Java 虚拟机规范中所定义的一种内存模型,Java 内存模型是标准化的,屏
一、CAS是什么cas全称compare and swap,比较并交换,是一条CPU并发原语。解决多线程环境下使用锁导致上下文切换导致性能消耗的一种机制。它的功能是判断内存中某个地址的值是否是期望的值,如果是就修改为新的值,整个过程是原子的。这是一种非阻塞算法,线程在获取资源失败时,不需要挂起,因此
什么是AQSAQS全名:AbstractQueuedSynchronizer,是并发容器J.U.C(java.util.concurrent)下locks包内的一个类。它实现了一个FIFO(FirstIn、FirstOut先进先出)的队列。底层实现的数据结构是一个双向链表。这个双向链表是由线程封装成
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" &quo
1、缓存使用为了系统性能的提升,我们一般会将部分数据放入缓存中,加速访问。而db承担数据落盘工作。哪些数据适合放入缓存中:及时性、数据一致性要求不高的数据访问量大且更新频率不高的数据(读多写少)⚠️注意:在开发中,凡是放入缓存中的数据都应该指定过期时间。避免业务崩溃导致的数据永久不一致问题。2、本地
持续更新~~