![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java 并发编程原理分析
记录常见并发代码原理
拭心
我的新书《Android 性能优化入门与实战》上架了,快速提升技术实力,强烈推荐!!!
展开
-
并发编程6:CopyOnWriteArrayList 的写时复制
首先提个问题: - 线程安全的 List 集合有什么? - CopyOnWriteArrayList 的特点以及使用场景? 如果这个问题你答不上来,那这篇文章可能就对你有些价值。读完本文你将了解:CopyOnWriteArrayList 简介CopyOnWriteArrayList 源码分析Android SDK 25底部实现读取操作修改操作迭代器CopyOnW原创 2017-08-20 09:58:06 · 10265 阅读 · 1 评论 -
并发编程5:Java 阻塞队列源码分析(下)
上一篇 细说并发4:Java 阻塞队列源码分析(上) 我们了解了 ArrayBlockingQueue, LinkedBlockingQueue 和 PriorityBlockingQueue,这篇文章来了解剩下的四种阻塞队列。读完本文你将了解:七种阻塞队列的后四种DelayQueueDelayQueue 的关键属性实现 Delayed 接口延时阻塞队列如何实现DelayQueue 使用原创 2017-06-26 17:48:56 · 4481 阅读 · 1 评论 -
并发编程4:Java 阻塞队列源码分析(上)
上篇文章 趣谈并发3:线程池的使用与执行流程 中我们了解到,线程池中需要使用阻塞队列来保存待执行的任务。这篇文章我们来详细了解下 Java 中的阻塞队列究竟是什么。读完你将了解:什么是阻塞队列七种阻塞队列的前三种ArrayBlockingQueue看它的主要属性构造函数四种添加元素方法的实现四种获取元素的实现LinkedBlockingQueueLinkedBlockingQueue原创 2017-06-23 07:55:24 · 5926 阅读 · 6 评论 -
并发编程3:线程池的使用与执行流程
并发编程系列的文章酝酿好久了,但由于没有时间和毅力去写那么多练习 demo,很多文章写了一半就停止了。在写某一系列的过程中总有其他想写的内容蹦出来,想忍住不分散精力太难了,所以我很佩服那些能专心研究、总结一个专题的人,他们是有毅力的人!关于学习的方式我也困惑过很久,究竟是知识体系驱动还是项目驱动比较好呢?知识体系驱动即一条道走到头的学习(逮住某个专题深入研究,直到整个过一遍)项目驱动即以完成项目原创 2017-06-18 21:39:39 · 29846 阅读 · 13 评论 -
并发编程2:认识并发编程的利与弊
读完本文你将了解:多线程的优点1提高资源利用率2响应更快多线程的缺点1增加资源消耗2上下文切换的开销3设计编码测试的复杂度增加Java 内存模型与 CPU 内存简介Java 中的堆Java 中的栈计算机中的内存寄存器缓存多线程可能出现的问题竞态条件与临界区内存可见性总结Thanks从上篇文章 趣谈并发(1):全面认识 Thread 我们了解了 Java 中线程的基本概原创 2017-03-01 00:31:26 · 10096 阅读 · 13 评论 -
并发编程1:全面认识 Thread
读完本文你将了解到:线程简介线程创建的三种方式实现 Runnable 接口继承 Thread重写其 run 方法实现 Callable 接口重写 call 方法用 FutureTask 获得结果线程的基本属性优先级守护线程线程的生命周期线程的关键方法ThreadsleepObjectwaitThreadyieldThreadjoin线程的中断public void i原创 2017-02-26 00:29:12 · 11089 阅读 · 15 评论