第1章 课程导学【学前须知】本章对这门课程进行说明,包括:电商秒杀场景的介绍、秒杀系统涉及模块的介绍,秒杀核心的知识点的介绍,课程的学习规划等。第2章 秒杀项目框架回顾【秒杀免费课程场景解析,源码走读】本章会介绍前期秒杀免费课程当中所涉及的基础框架搭建知识,项目分层,源码导读等,帮助大家更快的理解秒 ...
分类:
编程语言 时间:
2019-06-05 23:44:47
阅读次数:
813
问:什么是AQS? 答:AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包下面。AQS是一个用来构建锁和同步器的框架,比如ReentrantLock,Semaphore,ReentrantReadWriteLock, ...
分类:
其他好文 时间:
2019-06-04 09:36:49
阅读次数:
221
ConcurrentHashMap 源码详细分析(JDK1.8) 1. 概述 《HashMap 源码详细分析(JDK1.8)》: Java7 整个 ConcurrentHashMap 是一个 Segment 数组,Segment 通过继承 ReentrantLock 来进行加锁,所以每次需要加锁的操 ...
分类:
其他好文 时间:
2019-05-25 09:33:48
阅读次数:
86
ReentrantLock简介 ReentrantLock重入锁,是实现Lock接口的一个类,也是在实际编程中使用频率很高的一个锁, 支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次获取不会被阻塞。 ReentrantLock还支持公平锁和非公平锁两种方式。 那么,要想完完全全的弄 ...
分类:
编程语言 时间:
2019-05-22 15:54:26
阅读次数:
137
转自: https://www.jianshu.com/p/d8eeb31bee5c 前言 在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(实现类ReentrantReadWriteLock),内部实现 ...
分类:
其他好文 时间:
2019-05-22 15:40:55
阅读次数:
98
阅读前提:本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、ReentrantLock、UNSAFE 操作这几个基本的知识,文中不会对这些知识进行介绍。Java8 用到了红黑树,不过本文不会进行展开,感兴趣的读者请自行查找相关资料。 Java7 HashMa ...
分类:
编程语言 时间:
2019-05-16 17:42:18
阅读次数:
148
一、公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。 对于Java ReentrantLock而言,通过构造函数指定该锁是否是公平锁,默认是非公平 ...
分类:
编程语言 时间:
2019-05-14 13:15:35
阅读次数:
88
一、ReentrantLock简介ReentrantLock重入锁,顾名思义,就是支持重入的锁,它表示能够支持一个线程对资源的重复加锁;我们之前学习过Synchronized锁,它也是支持重入的一种锁,参考我的另一篇Synchronized锁的实现原理与应用,Synchronized支持隐式的重入锁,比如递归方法,在方法运行时,执行线程在获取到了锁之后仍能连续多次地获取锁;ReentrantLoc
分类:
其他好文 时间:
2019-05-08 19:02:58
阅读次数:
109
锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized(重量级) 和 ReentrantLock(轻量级)等等 ) 。这些已经写好提供的锁为我们开发提供了便利。 1.重入锁 重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的 ...
分类:
编程语言 时间:
2019-05-04 00:25:44
阅读次数:
176
在Java并发编程中,公平锁与非公平锁是很常见的概念,ReentrantLock、ReadWriteLock默认都是非公平模式,非公平锁的效率为何高于公平锁呢?究竟公平与非公平有何区别呢? 首先先简单从名字上来理解,公平锁就是保障了多线程下各线程获取锁的顺序,先到的线程优先获取锁,而非公平锁则无法提 ...
分类:
其他好文 时间:
2019-05-02 00:32:09
阅读次数:
177