AQS中一定要记住2点: 1.处理流程: if(!请求成功) 加入队列 2.请求是对state的判断,AQS不关心你state表示什么,你可以表示状态也可以表示数量,由子类实现对请求的判断。将规则的判断和规则的处理分离,…
分类:JUC
HashMap 和 Hashtable 的 6 个区别,最后一个没几个人知道!
HashMap 和 Hashtable 是 Java 开发程序员必须要掌握的,也是在各种 Java 面试场合中必须会问到的。 但你对这两者的区别了解有多少呢? 现在,栈长我给大家总结一下,或许有你不明朗的地方,在栈长的指…
JUC之线程抢占资源
创建线程重要!!! 1、怎么做多线程题?口诀:线程 操作 资源类 ,高内聚低耦合(指的是操作) 不管会不会,先创建资源类,在资源类里封装对资源的操作,然后在创建多个线程,在操作这个资源类 2、多线程操作时候,…
JUC学习笔记(2)—线程间通信
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurre…
Java多线程系列
1、参考资料(多线程系列) 1、:Java多线程系列目录 1.1、基础篇 01. Java多线程系列–“基础篇”01之 基本概念 02. Java多线程系列–“基础篇”02之 …
Java多线程系列--“JUC锁”04之 公平锁(二)
概要 前面一章,我们学习了“公平锁”获取锁的详细流程;这里,我们再来看看“公平锁”释放锁的过程。内容包括:参考代码释放公平锁(基于JDK1.7.0_40) “公平锁”的获取过程请参考“Java多线程系列–“J…
Java中的原子操作类JUC-atomic
目录 一、Java中原子操作类 1.原子更新基本类型 2.原子更新数组 3.原子更新引用类型 4.原子更新字段类 二、原子操作类原理 一、Java中原子操作类 简介: 当更新一个变…
Java JUC包源码分析 - LinkedBlockingDueue
LinkedBlockingDueue是基于一个双向的链表,可以先进先出(队列),也可以先进后出 (栈) 不允许插入null,基本原理和方法都和LinkedBlockingQueue差不多 public cla…
Jdk1.6 JUC源码解析(7)-locks-ReentrantLock
Jdk1.6 JUC源码解析(7)-locks-ReentrantLock 作者:大飞 功能简介: Java代码层面提供的锁机制,可做为Synchronized(jvm内置)的替代物,和Synchroniz…
JUC原子类-引用类型(四)
AtomicReference介绍: AtomicReference是作用是对”对象”进行原子操作。 AtomicLong函数列表 // 使用 null 初始值创建新的 AtomicReference。 AtomicRe…
JUC原子类-框架(一)
根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ; 数组类型: AtomicIntegerArray, Ato…
JUC学习笔记 -- (6) Lock锁初探
首先我们来回忆一下上一节讲过的synchronized关键字,该关键字用于给代码段或方法加锁,使得某一时刻它修饰的方法或代码段只能被一个线程访问。那么试想,当我们遇到这样的情况:当synchronized修饰的方法或代码…