![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring基础
文章平均质量分 79
平平无奇程序辕
平平无奇程序辕
展开
-
JAVA设计模式面试小考点之 责任链(实例讲解)
1.什么是jvm jvm全文Java vritual Machine,它就像一台虚拟出来的计算机一样,负责执行Java编译好的字节码文件。JVM具有非常严格的实现规范,大多数操作系统都可以安装JVM,为Java语言的跨平台性起到了关键的作用。JVM(Java虚拟机)是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象的硬件,堆栈,寄存器等,还具有...原创 2021-07-13 17:47:59 · 339 阅读 · 0 评论 -
分布式事务概述
写在前面事务的四大特性ACIDAtomicity 原子性 Consistency 一致性 Isolation 隔离性 Durability 持久性CAP理论:CAP理论是分布式系统进行平衡的理论Consistency 一致性 Availability 可用性 Partition tolerance 分区容错性一般CAP不可能全部实现,只能在三者中选择两种CA :CA就是不考虑分区容错性,简单的来看就是单机系统 CP :CP的话就是抛弃了可用性,需要每个请求在各个服务端强一致.原创 2021-04-24 17:52:16 · 137 阅读 · 0 评论 -
手撕源码系列之ThreadLock
ThreadLockThreadLock简介和作用应用场景源码底层结构ThreadLocalMap内部类get方法set方法问题ThreadLock简介和作用ThreadLock是Java.lang包下,JDK1.2提供的一个类。ThreadLocal的作用主要是做数据隔离。ThreadLocal内填充的数据只属于当前线程,变量的数据对别的线程而言是相对隔离的。其实就是在多线程环境下,防止自己的变量被其它线程篡改。应用场景Spring实现事务隔离级别用的就是ThreadLock自己项目原创 2021-04-05 12:03:49 · 400 阅读 · 1 评论 -
手撕源码系列之AQS -- AbstractQueuedSychronizer
AQS -- AbstractQueuedSychronizer简介重点成员变量statehead 和 tailNode对象重点方法acquiretryAcquireacquireQueuedrelease 释放锁操作问题简介重点成员变量 /** * Head of the wait queue, lazily initialized. Except for * initialization, it is modified only via method setHead.原创 2021-04-03 22:28:55 · 119 阅读 · 2 评论 -
手撕源码系列之锁 -- ReentrantLock(二)(基于JDK1.8)
ReentrantLock简介成员变量三大核心内部类SyncNonfairSync疑问FairSyncReentrantLock构造方法其他主要方法lock 和 lockInterruptibly的区别简介ReentrantLock 翻译过来就是可重入锁。成员变量ReentrantLock只有一个成员变量,且用final修饰。意味着一旦初始化就不可修改引用了private final Sync sync;三大核心内部类SyncSync继承了AbstractQueuedSynchronize原创 2021-04-03 16:32:38 · 121 阅读 · 0 评论 -
手撕源码系列之锁 -- LOCK(一)(基于JDK1.8)
手撕源码系列之锁 -- LOCKLock源码:Condition对象LockLock 是JDK在1.5版本提供的Java.util.concurrent.locks包下的锁相关内容。功能是为了补充Sychronized缺乏的相关功能。关于Sychronized的优劣会在Sychronized内讲解(尚未提供)源码:public interface Lock { /**获取锁 ,如果当前锁被其他线程获取则等待直到获取锁*/ void lock(); /** 功能和loc原创 2021-04-03 14:23:44 · 183 阅读 · 0 评论 -
Spring基础 之 事务传播行为
事务回滚的判断 基于注解中的配置信息,可以得出超时或者抛出指定异常的情况下,会执行事务的回滚。 但是默认超时时间是-1,即不设超时时间 指定抛出异常的话默认是对RuntimeException和Error的子类 int timeout() default TransactionDefinition.TIMEOUT_DEFAULT; Class<? extends Throwable>[] rollbackFor() default {}; Cla...原创 2021-03-25 10:11:56 · 110 阅读 · 0 评论