- 博客(3)
- 收藏
- 关注
原创 JDK1.8 HashMap原理和扩容机制
文章目录简介一、主要的成员变量二、初始化三、存入数据总结简介HashMap 是一种Java中常用的数据结构,采用数组+链表+红黑树的方式存储键值对数据,通过哈希函数散列映射方式,使得HashMap的查询数据的数据比较快。HashMap结构如下图所示:一、主要的成员变量 // 当前存储数据容量 transient int size; // 当size 大于threshold时,将触发扩容操作 int threshold; // 加载因子 final float lo
2020-09-30 17:49:41
938
原创 Java中的AQS一些理解
文章目录AQS概述AQS主要结构独占锁加锁过程二、使用步骤1.引入库2.读入数据总结AQS概述AbstractQueuedSynchronizer(AQS)抽象队列同步器,是Doug Lea实现的一个用于同步多线程的一个组件。java.util.concurrent包下的一些Lock实现类就是基于AQS实现的,如常见的ReentrantLock、ReentrantReadWriteLock等。AQS内部实现了一个双向队列的数据结构,用于存储在线程请求锁时,需要阻塞的线程。下面将结合AQS、Ree
2020-09-16 17:30:14
204
原创 Java中的锁介绍
文章目录Java中的锁一、乐观锁和悲观锁乐观锁和CAS:悲观锁:二、无锁、偏向锁、轻量级锁、重量级锁无锁偏向锁轻量级锁重量级锁三、公平锁和非公平锁2.读入数据总结Java中的锁为了更加合理高效的使用CPU资源,以及针对特定的应用环境(如常见的Web服务),多线程编程必不可少。在多线程环境下,当出现多个线程访问修改同一个资源时,会出现线程安全问题,既多个线程请求同一个资源,如果不加以限制,那么容易造成请求的资源出错而导致各个线程出错。Java中的锁就是针对多线程环境下,解决共享资源访问出现的线程安全
2020-09-15 00:35:09
230
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人