- 博客(4)
- 收藏
- 关注
原创 JUC AQS源码分析(下) -- ReentrantLock解锁源码解析
上篇讲解了ReentrantLock的加锁过程,本篇我们接着讲解ReentrantLock解锁过程的源码。ReentrantLock解锁解析我们还是先写一个应用,从unlock() 方法一步一步进行底层源码分析。0.先写一个Demo public static void main(String[] args) { final ReentrantLock reentrantLock ...
2020-01-26 13:17:33 557
原创 JUC AQS源码分析(中) -- ReentrantLock上锁源码解析
上篇主要讲解的AQS框架的基本原理以及设计思想,我们知道了AQS自定义同步组件大概需要三种技术:自旋、CAS、LockSupport.park();那么本篇我们着重分析一下并发大佬 Doug Lea 设计的ReentrantLock,它是如何在保证线程同步的情况下进行加锁的。这里贴一张ReentrantLock的类图Sync是ReentrantLock的内部抽象类,继承自AbstractQ...
2020-01-26 13:17:22 492 1
原创 JUC AQS源码分析(上) -- AQS原理分析
该系列博客主要分为上中下三篇分别介绍:AQS框架的原理、ReentrantLock上锁源码解析、ReentrantLock解锁源码解析一、介绍由于synchronize关键字在jdk1.6之前为重量级锁效率很低,每次对线程进行操作都需要涉及操作系统层面,于是并发大佬 Doug Lea 设计了JUC包,将线程同步操作提升到jdk级别,最差也是jvm级别。队列同步器 AbstractQueued...
2020-01-26 13:17:05 570
原创 SpringBoot校园导航图后台代码实现
一、前言数据结构课设写一个校园导航图,正好舍友会安卓,于是我就用SpringBoot和他合作写了一个前后端交互的项目,由于时间之后3天,所以就没有加一些用户模块、权限模块,也就简单实现了景点信息、路径信息的增删改查。二、所需技术SpringBoot搭建项目的整体框架景点数据、路径数据采用MySQL数据库查询数据添加缓存使用Redis数据库DAO层使用MyBatis框架都是一些基本...
2020-01-13 22:20:50 687 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人