摘要: java中要实现临界资源的互斥访问,大体来说常用的就是就是关键字synchronized以及ReentrantLock。相比于synchronized,ReentrantLock可以实现尝试加锁,以及限时加锁。 1. 首先基于非公平锁看下,如何锁住临界代码块: 1.1 NonfairSync.loc 阅读全文
posted @ 2018-06-03 15:51 流水无双 阅读(616) 评论(0) 推荐(1) 编辑
摘要: AQS源码阅读笔记 先看下这个类张非常重要的一个静态内部类Node。如下: 接着,我们再来看看AQS中的字段: 其中, node和tail分别表示头结点和尾节点,这两个字段是用来的保证同步队列原子入(出)队操作(具体后续在分析具体的实现类中说)。 state在此处可以简单理解为加锁的次数(每次加锁, 阅读全文
posted @ 2018-04-12 22:32 流水无双 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 项目背景: 某日,有需求要在三天的时间内完成两个大项目的项目合并,因为之前两个项目的包结构和类名都很多相同,于是开始考虑使用加一级包进行隔离,类似于这种结构 但是在启动的过程中,抛出来这样的异常: 原因: spring提供两种beanName生成策略,基于注解的sprong-boot默认使用的是An 阅读全文
posted @ 2018-03-27 22:51 流水无双 阅读(10249) 评论(2) 推荐(3) 编辑
摘要: 简单聊聊java中的final关键字 日常代码中,final关键字也算常用的。其主要应用在三个方面: 1)修饰类(暂时见过,但是还没用过); 2)修饰方法(见过,没写过); 3)修饰数据。 那么,我们主要也是从一下几个方面探讨一下,主要是第三点。 一、final修饰类和方法 final修饰的类不可被 阅读全文
posted @ 2018-02-07 00:04 流水无双 阅读(2456) 评论(0) 推荐(0) 编辑