在上一篇中介绍了HashMap的原理,这一节是ConcurrentMap的最后一节,所以会完整的介绍ConcurrentHashMap的实现。ConcurrentHashMap原理在读写锁章节部分介绍过一种是用读写锁实现Map的方法。此种方法看起来可以实现Map响应的功能,而且吞吐量也应该不错。但是...
分类:
编程语言 时间:
2014-12-02 23:57:49
阅读次数:
324
最近看JDK中的concurrentHashMap类的源码,其中有那么一个函数:/** * Returns a power of two table size for the given desired capacity. * See Hackers Delight, sec 3.2...
分类:
其他好文 时间:
2014-12-01 12:54:28
阅读次数:
260
HashMap Hashtable ConcurrentHashMap 区别...
分类:
其他好文 时间:
2014-11-30 00:47:08
阅读次数:
119
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
编程语言 时间:
2014-11-26 16:10:05
阅读次数:
278
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
编程语言 时间:
2014-11-26 16:06:23
阅读次数:
308
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
编程语言 时间:
2014-11-25 18:14:38
阅读次数:
305
对ConcurrentHashMap是一个线程安全的map感到好奇,所以就试着去看了看JDK的源码
ConcurrentHashMap分成一个一个的段。然后每次要put或get元素的时候,就先找到这个段,然后执行put或get。为了线程安全,在put方法里面加了锁
看下segment这个属性
final Segment[] segments;
Segmen里面有下面这个属性
...
分类:
其他好文 时间:
2014-11-25 00:24:49
阅读次数:
195
今天我们介绍的是本地缓存缓存,我们这边采用java.util.concurrent.ConcurrentHashMap来保存,ConcurrentHashMap是一个线程安全的HashTable,并提供了一组和HashTable功能相同但是线程安全的方法,ConcurrentHashMap可以做到读取数据不加锁,提高了并发能力。我们先不考虑内存元素回收或者在保存数据会出现内存溢出的情况,我们用ConcurrentHashMap模拟本地缓存,当在高并发环境一下,会出现一些什么问题?...
分类:
编程语言 时间:
2014-11-15 17:15:05
阅读次数:
258
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
其他好文 时间:
2014-11-13 16:19:13
阅读次数:
175
package com.jms;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.jms.BytesMessage;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms...
分类:
其他好文 时间:
2014-11-11 19:17:09
阅读次数:
289