
Java多线程
文章平均质量分 96
春风十米
不积跬步无以至千里,不积小流无以成江海。加油!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java线程(篇外篇):阻塞队列BlockingQueue
好久没有写文章了,这段时间事情比较杂,工作也比较杂乱,上周日刚搬完家,从自建房搬到了楼房,提升了一层生活品质,哈哈!不过昨天晚上在公交车上钱包被偷了,前段时间还丢个自行车,不得不感叹,京城扒手真多,还无人处理。言归正传,这一段时间我的工作主要是改进公司的调度器,调度器调度线程池执行任务,生产者生产任务,消费者消费任务,那么这时就需要一个任务队列,生产者向队列里插入任务,消费者从队列里提取任务执行,转载 2017-08-30 09:46:27 · 207 阅读 · 0 评论 -
为什么ConcurrentHashMap是弱一致的
本文将用到Java内存模型的happens-before偏序关系(下文将简称为hb)以及ConcurrentHashMap的底层模型相关的知识。happens-before相关内容参见:JLS §17.4.5. Happens-before Order、深入理解Java内存模型以及Happens before;ConcurrentHashMap的详细介绍以及底层原理见深入分析Concurr转载 2017-08-30 10:49:22 · 297 阅读 · 0 评论 -
深入分析ConcurrentHashMap
本文是作者原创,发表于InfoQ:http://www.infoq.com/cn/articles/ConcurrentHashMap术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表hash table根据设转载 2017-08-30 15:14:42 · 209 阅读 · 0 评论 -
多线程死锁的产生以及如何避免死锁
转自:http://blog.youkuaiyun.com/ls5718/article/details/51896159一、死锁的定义多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。下面我们通过一些实例来说明死锁现象。先看生活转载 2017-08-31 11:22:38 · 358 阅读 · 0 评论 -
银行家算法
银行家算法是资源和死锁避免的算法,由艾兹格·迪杰斯特拉(Edsger Dijkstra) 设计的算法用于测已确定总数量的资源分配的安全性,在决定是否该分配应该被允许并进行下去之前,通过“s-state”校验码测试资源分配活动期间产生死锁条件的可能性。 该算法是为为THE操作系统设计并且最在在EWD108描述。当一个新的进程进入系统时,进程必须声明所需每个资源实例最大的数量和类型。显然,转载 2017-08-31 14:43:02 · 585 阅读 · 0 评论 -
Java8系列之重新认识HashMap
转自:http://www.importnew.com/20386.html简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1) HashMap:它根据键的ha转载 2017-08-31 15:49:23 · 252 阅读 · 0 评论 -
HashTable和HashMap的区别详解
转自:http://blog.youkuaiyun.com/fujiakai/article/details/51585767 4、key和value是否允许null值 其中key和value都是对象,并且不能包含重复key,但可以包含重复的value。 通过上面的ContainsKey方法和ContainsValue的源码我们可以很明显的看出:转载 2017-08-31 16:20:30 · 560 阅读 · 0 评论