首页
全部分类
文章归档
关于我
1
用户体验---5W1H模型
2
用户体验---心流体验模型
3
用户体验---用户体验五要素
4
[转]为什么看起来没人情味美团外卖赢了?
5
重构---重构的手法
敢敢雷
永言配命,自求多福
累计撰写
57
篇文章
累计创建
0
个标签
累计收到
2
条评论
栏目
首页
全部分类
文章归档
关于我
搜索
目 录
CONTENT
以下是
JDK源码
相关的文章
重入锁---ReentrantLock
重入锁ReentrantLock,顾名思义就是支持重新进入的锁,它表示该锁能够支持一个线程对资源对重复加锁。ReentrantLock是一种递归无阻塞的同步机制。它可以等同于synchronized的使用,但是ReentrantLock提供了比synchronized更强大、灵活的锁机制,可以减少死
2020-02-05
903
0
0
Java基础
JDK源码
控制并发线程数的Semaphore
Semaphore是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。先演示一个简单小Demo,模拟停车位的场景Demopublic class SemaphoreDemo { public static void main(String[] args) {
2020-02-05
1711
0
0
Java基础
JDK源码
比较CountDownLatch和CyclicBarrier
CountDownLatch和CyclicBarrier都是线程工具类,他们的作用都是可以使得一个线程等待其他线程各自执行完毕后再执行。之前也写过相应的小Demo,最近和朋友聊天时,又遇到了关于他们两个的区别。CountDownLatch在使用CountDownLatch最常用的方法是await方法
2020-02-03
969
0
0
Java基础
JDK源码
同步屏障CyclicBarrier
CyclicBarrier它允许一组线程互相等待。继续演示英雄联盟开黑小DemoDemopublic class CyclicBarrierDemo { public static void main(String[] args) { // 发车线程 Thread
2020-02-03
824
0
0
Java基础
JDK源码
等待多线程完成的CountDownLatch
CountDownLatch允许一个或者多个线程等待其他线程完成操作。先看CountDownLatch一个简单小DemoDemo简单一点,以英雄联盟开五黑为例子,五黑需要五个人才能发车。代码如下public class CountDownLatchDemo { public static vo
2020-02-02
986
0
0
Java基础
JDK源码
队列同步器---AbstractQueuedSynchronizer
队列同步器—AbstractQueuedSynchronizer(以下简称AQS),在Java的内置锁一直都是备受争议的,在JDK 1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略,但是与Lock相比synchronized还是存在一些缺陷
2020-02-02
1293
0
0
Java基础
JDK源码
并发安全的CopyOnWriteArrayList
CopyOnWriteArrayList是ArrayList的线程安全版本,内部也是通过数组实现,每次对数组的修改都完全拷贝一份新的数组来修改,修改完了再替换掉老数组,这样保证了只阻塞写操作,不阻塞读操作,实现读写分离。内部的主要实现主要是通过ReentrantLock加锁和一个volatile修饰
2020-01-28
734
0
0
Java基础
JDK源码
探索HashMap
HashMap都清楚,许多面试宝典都介绍,HashMap底层在JDK1.7和JDK1.8的实现不同,1.8加入了红黑树的结构。下面就根据面试宝典的介绍,来看下源码。HashMap中的数组第一个结构是它的数组,看下源码是怎么定义它的。// 数组,又叫作桶(bucket)transient Node&l
2020-01-14
823
0
0
Java基础
JDK源码