- 博客(7)
- 收藏
- 关注
原创 Java:HashMap(JDK1.8)
在本篇主要整理一下 1.8 的 HashMap 进行分析,主要从以下方面:存储结构扩容机制基本属性下面列出 HashMap 中的属性值并加以节是// 部分常量static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // 初始大小 16static final int MAXIMUM_CAPACITY = 1 << 30; // 最大容量static final float DEFAULT_LOAD_FAC
2021-11-03 12:42:26
258
原创 ReentrantLock :可重入锁
参考链接: https://www.bilibili.com/video/BV1ta4y1H73X需要具备 AQS 知识可重入指的是单个线程执行时重新进入同一个子程序仍是线程安全的。如果是不可重入,若 A 获得锁,要再次请求该锁时就会造成死锁简单来说,就是一个线程可以不用释放即可重复获得该锁 n 次,释放时响应释放 n 次。那下面就来讲讲 RenentrantLocak 这一可重入锁的实现。首先来看一下 RenentrantLocak 的继承关系,其实现了 Lock 接口,即遵循 Lock
2021-10-29 20:52:48
171
原创 AQS - 抽象同步队列:独占锁的实现
文章目录属性int state共享锁 和 独占锁(排他锁)Node head & Node tailNode方法(以独占模式为例)tryAcquire(int arg)acquire(int arg)addWaiter(Node.EXCLUSIVE), arg)acquireQueued(final Node node, int arg)boolean tryRelease(int arg)boolean release(int arg)unparkSuccessor(Node node)参考链接
2021-10-29 17:24:42
371
原创 浅析 synchronized 底层
synchronized 是 Java 的关键字之一,提供一种原子性的内部锁,Java 中的每个对象都可以把它当作一个同步锁使用,这种 Java 内置的使用者看不到的锁为内部所,或叫监视器锁。文章目录synchronized 内存语义Monitor简介特点对象内存模型中的锁标记synchronized 内存语义Monitor简介特点对象内存模型中的锁标记参考链接参考链接synchronized 内存语义进入 synchronized块,即是当前线程会从自己的工作内存中清除 synchronized块中
2021-10-28 19:51:40
269
原创 ThreadLocal & ThreadLocalRandom
文章目录ThreadLocal测试示例ThreadLocal 实现方式可被子线程继承的 InheritableThreadLocalsThreadLocalRandomThreadLocalRandom 实现ThreadLocal并发下,多线程对共享变量进行操作,为保证线程安全,通常要控制好各线程的同步情况,最直接的办法是给当前共享变量加锁。有没有一种方法使得创建一个变量后,每个线程对该变量的访问都是在自己的线程空间中的呢?这就是 ThreadLocal。测试示例public static vo
2021-10-26 20:45:45
234
原创 Java 线程基本操作
文章目录实现方式线程的基本操作[共享变量].wait()[共享变量].notify()[线程].join()[线程].sleep()[线程].yield()线程中断实现方式实现 Runable 接口的run方法public static class RunnableTask implements Runnable { // 注意此处返回类型是void,Runnable接口没有返回值 @Override public void run(){ // d
2021-10-26 16:57:46
96
原创 JDK 与 Cglib 的使用和对比
Spring AOP 依靠 JDK 和 CGLib 进行动态代理实现。在此对两种实现方式的一些知识进行整理。JDK使用示例/** * 需要被代理的接口 */interface Iinterface { String proxyMethod(String gift);}/** * 实现 InvocationHandler 接口,对 invoke 方法进行重写 */class MyHandler implements { /** * @param pro
2021-10-26 14:50:22
380
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人