自定义博客皮肤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)
  • 收藏
  • 关注

原创 Semaphore -信号量、实现限流

信号量模型一个计数器、一个等待队列、三个方法。计数器和等待队列对外是透明的三个方法:Init(); 初始化计数器down(); 计数器的值-1;如果此时计数器的值小于0,则当前线程将被阻塞,否则当前线程继续执行; – 在Semphore中是acquire()方法up(); 计数器的值+1;如果此时计数器的值大于或等于0,则唤醒等待队列中的一个线程,并将其从等待队列中移除; – 在Se...

2019-12-12 13:38:56 986 1

原创 ReadWriteLock - 读写锁

读写锁三条基本原则允许多个线程同时读共享变量;只允许一个线程写共享变量;如果一个写线程正在执行写操作,此时禁止读线程读共享变量。读写锁允许多个线程同时读共享变量,适用于读多写少的场景读写锁的写操作是互斥的,当一个线程在写共享变量的时候,是不允许其他线程执行写操作和读操作公平性选择:支持公平与非公平(默认)的锁获取方式,吞吐量非公平优先于公平。可重入:读线程获取读锁之后可以再次获...

2019-12-12 13:36:00 129

原创 StampedLock - 更快的读写锁

StampedLock 支持的三种锁模式写锁:只允许一个线程获取到写锁,有读锁的时候会被阻塞,无法获取到写锁悲观读锁:允许多个线程获取到读锁乐观读:这种方式是不加锁的StampedLock 获取到悲观读锁和写锁会返回stamp对象,解锁的时候需要传这个stampfinal StampedLock sl = new StampedLock();// 获取/释放悲观读锁示意代码lon...

2019-12-12 13:29:17 246

原创 SpringBoot自动装配,实现自定义配置

定义基于约定大于配置的原则,实现Spring组件自动装配的目的装配的依赖(方式)模式注解、@Enable模块、条件装配、工厂加载机制激活自动化装配、实现自动化装配、配置自动装配实现底层装配技术Spring 模式注解装配Spring @Enable模块装配Spring条件装配Spring工厂加载机制实现类: SpringFactoriesLoader配置资源:META-IN...

2019-03-17 23:28:13 1847

原创 Spring 条件装配

定义从Spring Framework 3.1开始,允许Bean 装配时增加前置条件判断判断方式@Profile: 配置化条件装配,Spring Framework 3.1@Conditional:编程条件装配,Spring Framework 4.0实现方式注解方式-- @Profile首先定义一个接口/** * 计算整数求和 */public interface Ca...

2019-03-17 22:18:54 276

空空如也

空空如也

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

TA关注的人

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