摘要: 原创文章,转载请注明: 转载自并发编程网 – ifeve.com 1. 什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们再通过Fork和Join这两个单词来理解 阅读全文
posted @ 2019-08-11 16:22 程序员黄小斜 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 原文出处http://cmsblogs.com/ 『chenssy』 到目前为止,我们在Java世界里看到了两种实现key-value的数据结构:Hash、TreeMap,这两种数据结构各自都有着优缺点。 然而,这次介绍第三种实现key-value的数据结构:SkipList。SkipList有着不 阅读全文
posted @ 2019-08-11 16:18 程序员黄小斜 阅读(325) 评论(0) 推荐(0) 编辑
摘要: Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析 转自https://www.javadoop.com/post/hashmap#toc7 部分内容转自 http://www.jasongj.com/java/concurrenthashmap 今天发一篇"水文" 阅读全文
posted @ 2019-08-11 16:07 程序员黄小斜 阅读(239) 评论(0) 推荐(0) 编辑
摘要: ​深度解读 java 线程池设计思想及源码实现 转自 https://javadoop.com/2017/09/05/java-thread-pool/hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 我相信大家都看过很多的关于线 阅读全文
posted @ 2019-08-11 16:00 程序员黄小斜 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 解读 Java 并发队列 BlockingQueue 转自:https://javadoop.com/post/java-concurrent-queue 最近得空,想写篇文章好好说说 java 线程池问题,我相信很多人都一知半解的,包括我自己在仔仔细细看源码之前,也有许多的不解,甚至有些地方我一直 阅读全文
posted @ 2019-08-11 15:52 程序员黄小斜 阅读(364) 评论(0) 推荐(0) 编辑
摘要: Java 读写锁 ReentrantReadWriteLock 源码分析 转自:https://www.javadoop.com/post/reentrant-read-write-lock#toc5 本文内容:读写锁 ReentrantReadWriteLock 的源码分析,基于 Java7/Ja 阅读全文
posted @ 2019-08-11 15:29 程序员黄小斜 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 一行一行源码分析清楚 AbstractQueuedSynchronizer (三) 转自:https://javadoop.com/post/AbstractQueuedSynchronizer-3 这篇文章是 AQS 系列的最后一篇,第一篇,我们通过 ReentrantLock 公平锁分析了 AQ 阅读全文
posted @ 2019-08-11 15:22 程序员黄小斜 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 一行一行源码分析清楚 AbstractQueuedSynchronizer (二) 转自https://www.javadoop.com/post/AbstractQueuedSynchronizer-2 文章比较长,信息量比较大,建议在 pc 上阅读。文章标题是为了呼应前文,其实可以单独成文的,主 阅读全文
posted @ 2019-08-11 15:14 程序员黄小斜 阅读(6393) 评论(0) 推荐(0) 编辑
摘要: 一行一行源码分析清楚AbstractQueuedSynchronizer 转自https://www.javadoop.com/post/AbstractQueuedSynchronizer#toc4 在分析 Java 并发包 java.util.concurrent 源码的时候,少不了需要了解 A 阅读全文
posted @ 2019-08-11 15:11 程序员黄小斜 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 本文转载自互联网,侵删 在前面的文章中我们介绍了Java并发基础和线程安全的概念,以及JMM内存模型的介绍,包括其定义的各种规则。同时我们也介绍了volatile在JMM中的实现原理,以及Lock锁和synchronized实现同步方式的区别。最后还讲述了final关键字在JSR-133中的语义加强 阅读全文
posted @ 2019-08-11 15:07 程序员黄小斜 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 本文转载自互联网,侵删 与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,编译器和处理器要遵守两个重排序规则: 下面,我们通过一些示例性的代码来分别说明这两个规则: public class FinalExample { int i; //普通变量 阅读全文
posted @ 2019-08-11 15:02 程序员黄小斜 阅读(327) 评论(0) 推荐(0) 编辑
摘要: Java中的锁机制及Lock类 锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。 下面是锁释放-获取的示例代码: 根据程序次序规则,1 happens before 2, 2 阅读全文
posted @ 2019-08-11 14:56 程序员黄小斜 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 本文转载自互联网,侵删 序言 先来看如下这个简单的Java类,该类中并没有使用任何的同步。 01 final class SetCheck { 02 private int a = 0; 03 private long b = 0; 04 05 void set() { 06 a = 1; 07 b 阅读全文
posted @ 2019-08-11 14:47 程序员黄小斜 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 本文转载自互联网,侵删 一:JMM基础与happens-before 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递 阅读全文
posted @ 2019-08-11 14:37 程序员黄小斜 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 本文转载自互联网,侵删 什么是并发 在过去单CPU时代,单任务在一个时间点只能执行单一程序。之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程。虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个CPU,并交由操作系统来完成多任务间对CPU的运行切换,以使得每个任务都有机会 阅读全文
posted @ 2019-08-11 14:31 程序员黄小斜 阅读(274) 评论(0) 推荐(0) 编辑
摘要: Java并发编程一直是Java程序员必须懂但又是很难懂的技术内容。 这里不仅仅是指使用简单的多线程编程,或者使用juc的某个类。当然这些都是并发编程的基本知识,除了使用这些工具以外,Java并发编程中涉及到的技术原理十分丰富。为了更好地把并发知识形成一个体系,也鉴于本人没有能力写出这类文章,于是参考 阅读全文
posted @ 2019-08-11 14:24 程序员黄小斜 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 阅读本文大概需要 4 分钟。 今天你上网了吗?在网上又花了多少个小时呢,玩了多久的游戏,看到了多久的网剧或者综艺?亦或是刷了多久的抖音短视频以及朋友圈? 不管你是在手机还是电脑上,我相信你总有办法在网上虚度人,短则一天,长则一年,反正在互联网上消磨的时光永远不会嫌多。因为,在互联网上待的时间总是快乐 阅读全文
posted @ 2019-08-11 13:52 程序员黄小斜 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 阅读本文大概需要 9.96 分钟。 今天和大家分享一下我的故事,相信老读者都比较了解,恰逢今天是公众号首次发文一周年的纪念日,借此机会,重新向大家介绍一下我的经历。 1. 从小到大,我的成绩都只能算中等。参加高考的时候,正常发挥,和估的分就差了不到5分,分数不算高,勉强够着了一所省内211的最低门槛 阅读全文
posted @ 2019-08-11 13:41 程序员黄小斜 阅读(393) 评论(0) 推荐(1) 编辑