java
文章平均质量分 71
渡劫-JS
这个作者很懒,什么都没留下…
展开
-
分布式锁实现原理
分布式锁实现原理原创 2022-07-22 08:55:57 · 729 阅读 · 0 评论 -
ThreadLocal学习
ThreadLocal学习ThreadLocal并不是一个Thread,而是Thread的局部变量。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。ThreadLocal的核心接口方法有四个void set(Object value) 设置当前线程的线程局部变量的值。public Object get() 该方法返回当前线程所对应的线程局部变量。pub原创 2022-03-03 10:38:51 · 366 阅读 · 0 评论 -
Java锁学习
1、锁类型1.1、乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。java 中的乐观锁基本都是通过 CAS 操作实现的,CAS 是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。1.2、悲观锁悲观锁是就是悲观思想,即认为写多,原创 2022-03-02 22:46:25 · 298 阅读 · 0 评论 -
策略模式(集成Spring应用方法)
1、策略模式(集成Spring应用方法)打折类的问题public interface CouponStrategy { /**具体的打折实现**/ void discount(); /**对应的类型是否匹配**/ boolean isSupport(Integer status);}比如我们的折扣方式有满减和优惠券,此时我们需要定义两个实现类分别对应满减和优惠券@Service(value = "0")public class FullCutCoupon impleme原创 2021-05-21 12:49:49 · 160 阅读 · 0 评论 -
EasyExcle学习笔记
EasyExcle 学习笔记1、相关依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.10</version></dependency>2、继承和重写AnalysisEventListener整体采用抽象类和泛型为的是后续扩展方便impor原创 2021-05-14 15:38:09 · 382 阅读 · 1 评论 -
java锁学习
Java并发编程并发编程中存在的三个概念。原子性问题,可见性问题,有序性问题原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。可见性:是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。Java提供了volatile关键字来保证可见性有序性:即程序执行的顺序按照代码的先后顺序执行(主要出现问题在多线程)1.1、volatileJava语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操原创 2021-03-01 16:47:08 · 147 阅读 · 0 评论