自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Spring推断构造方法结合源码情况分析

Spring推断构造方法 源码 Constructor<?>[] ctors = determineConstructorsFromBeanPostProcessors(beanClass, beanName); // 通过BeanPostProcessor找出了构造方法 // 或者BeanDefinition的autowire属性为AUTOWIRE_CONSTRUCTOR // 或者BeanDefinition中指定了构造方法参数值 // 或者在getBean()时指定了arg

2021-05-06 19:05:32 81 1

原创 redisson分布式锁实现原理

redisson实现小demo 根据redisson实现原理,整一个商品库存小demo,解决高并发情况下的商品库存多卖问题。 @RequestMapping("/deduct_stock") public String deductStock() { String lock="lockKey"; String threadId = UUID.randomUUID().toString(); try { Boolean result

2021-04-22 20:10:13 96 1

原创 Springboot源码学习(一)Bean生命周期

Springboot核心概念 BeanDefinition 在springboot中定义Bean的几种方式 首先是声明式的: bean标签xml @Bean注解 @Compent(@Service,@Controller等) 编程式,创建BD然后注册Bean //new 一个BD AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition(); // 当前B

2021-04-13 19:28:56 190

原创 AQS-ReentrantLock公平与非公平

ReentrantLock-公平锁 公平性 当线程CAS失败之后会进入Node双链表的阻塞队列中,Node大概结构如下: thread:线程 waitestate节点的生命状态:信号量 SIGNAL = -1 //可被唤醒 CANCELLED = 1 //代表出现异常,中断引起的,需要废弃结束 CONDITION = -2 // 条件等待 PROPAGATE = -3 // 传播 0 - 初始状态Init状态 一个Head头,一个Tail尾部,这两个节点thread均为空 需要注意head.waitSta

2021-04-08 18:11:28 80 1

原创 Synchronized原理

synchronized原理剖析synchronized基本介绍Synchronized基本使用Synchronized底层原理剖析同步器底层原理JDK1.5之前管程:JDK1.5之后monitor?monitor数据结构锁膨胀升级(简易版)各种锁偏向锁轻量级锁自旋锁锁消除逃逸分析 synchronized基本介绍 Synchronized基本使用 1、同步实例方法,锁是当前实例对象 2、同步类方法,锁是当前类对象 3、同步代码块,锁是括号里面的对象 Synchronized底层原理剖析 同步器 多线

2021-04-04 19:55:34 95 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除