2019年1月21日

ConcurrentHashMap原理分析(1.7与1.8)

摘要: 前言 以前写过介绍HashMap的文章,文中提到过HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同 阅读全文

posted @ 2019-01-21 16:25 cxhfuujust 阅读(125) 评论(0) 推荐(0) 编辑

JAVA中的CAS

摘要: 本篇的思路是先阐明无锁执行者CAS的核心算法原理然后分析Java执行CAS的实践者Unsafe类,该类中的方法都是native修饰的,因此我们会以说明方法作用为主介绍Unsafe类,最后再介绍并发包中的Atomic系统使用CAS原理实现的并发类。 无锁的概念 在谈论无锁概念时,总会关联起乐观派与悲观 阅读全文

posted @ 2019-01-21 11:33 cxhfuujust 阅读(346) 评论(1) 推荐(0) 编辑

深入介绍Java中的锁[原理、锁优化、CAS、AQS]

摘要: 转载:https://www.cnblogs.com/barrywxx/p/8678698.html 1、为什么要用锁? 锁-是为了解决并发操作引起的脏读、数据不一致的问题。 2、锁实现的基本原理 2.1、volatile Java编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新 阅读全文

posted @ 2019-01-21 10:44 cxhfuujust 阅读(189) 评论(0) 推荐(0) 编辑

Java并发之AQS详解

摘要: 一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLo 阅读全文

posted @ 2019-01-21 10:27 cxhfuujust 阅读(148) 评论(0) 推荐(0) 编辑

导航