最新文章列表

FutureTask实现缓存Demo

package com.samples.thread; import java.util.Date; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; import j ...
liushulin 评论(0) 有1053人浏览 2014-05-15 15:31

【转】Java HashMap的死循环问题

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp94 在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的Hash ...
grefr 评论(0) 有898人浏览 2014-04-10 17:12

HashMap和ConcurrentHashMap对null的不同处理

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp93   HashMap的键值对都可以为null ConcurrentHashMap的键值对都不可以为null
grefr 评论(0) 有822人浏览 2014-04-10 15:45

探索 ConcurrentHashMap 高并发性的实现机制

很不错的一篇文章,值得一看 http://www.ibm.com/developerworks/cn/java/java-lo-concurrenthashmap/
grefr 评论(0) 有811人浏览 2014-03-31 17:54

CocurrentHashMap和Hashtable的区别

集合类是Java API的核心,但是我觉得要用好它们是一种艺术。我总结了一些个人的经验,譬如使用ArrayList能够提高性能,而不再需要过时的Vector了,等 ...
milagro 评论(0) 有638人浏览 2014-03-21 15:11

深入分析ConcurrentHashMap

术语定义 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表 hash table 根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。 ...
milagro 评论(0) 有367人浏览 2014-03-21 15:11

concurrentHashMap的多线程并发问题

public class Test implements Runnable{ private static Map<Integer, Integer> map = new ConcurrentHashMap<>(); @Override public void run() { update(); } public void updat ...
zcqshine 评论(0) 有545人浏览 2014-03-21 12:00

Zz ConcurrentHashMap源码解析

ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。   实现原理   锁分离 (Lock Stripping)ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段 ...
leonzhx 评论(0) 有660人浏览 2014-03-16 17:29

Zz Java多线程之ConcurrentHashMap深入分析

一、Map体系    Hashtable是JDK 5之前Map唯一线程安全的内置实现(Collections.synchronizedMap不算)。Hashtable继承的是Dictionary(Hashtable是其唯一公开的子类),并不继承AbstractMap或者HashMap.尽管Hashtable和HashMap的结构非常类似,但是他们之间并没有多大联系。   Concurr ...
leonzhx 评论(0) 有1175人浏览 2014-03-16 14:50

关于ConcurrentHashMap 中位移的问题

拜读了GoldenDoc的大作:《Java并发编程之ConcurrentHashMap》后,有一个疑问:  关于查找Segment位置的位操作,segment的位置由如下代码确定:   long u = ((h >>> segmentShift) & segmentMask);  其中 SSHIFT 和 SBASE为静态常量,而segmentShift和segm ...
leonzhx 评论(0) 有1258人浏览 2014-03-16 14:33

Zz ConcurrentHashMap原理分析

集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅 ...
leonzhx 评论(0) 有1122人浏览 2014-03-16 14:03

Zz Java并发编程之ConcurrentHashMap

ConcurrentHashMap ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。 ConcurrentHashMa ...
leonzhx 评论(0) 有2062人浏览 2014-03-16 13:40

这样实现Fibonacci最快最简单!

大家都知道Fibonacci数列(一般译为斐波那契数列),比如:0, 1, 1, 2, 3, 5, 8, 13, 21...这是一个通过重复计算生成数列的好例子:f(n) = f(n-2) + f(n-1)。我们可以写一个计算第n个(从0开始)Fibonacci数的简单代码: public class Fibonacci { public int fib(int n) { ...
rijin 评论(1) 有5706人浏览 2014-03-13 14:04

Hashtable与ConcurrentHashMap区别

相同点: Hashtable 和 ConcurrentHashMap都是线程安全的,可以在多线程环境中运行; key跟value都不能是null 区别: 两者主要是性能上的差异,Hashtable的所有操作都会锁住整个对象,虽然能够保证线程安全,但是性能较差; ConcurrentHashMap内部使用Segment数组,每个Segment类似于Hashtable,在“写”线程或者部分特殊的“读 ...
pi88dian88 评论(1) 有14246人浏览 2014-01-22 12:12

ConcurrentHashMap

ConcurrentHashMap   主要两个结构:Segment[]  和 HashEntry[] 每个Segment是一个ReentrantLock Segment结构跟HashMap差不多,成员:table,count,loadFactor,threshold,modC ...
xussen 评论(0) 有754人浏览 2014-01-08 09:39

ConcurrentHashMap分析与应用

ConcurrentHashMap类与 Hashtable 相似,都是线程安全的,但与 HashMap 不同,它不 允许将 null 用作键或值。  可以使用Iterator和Enumeration进行遍历,且不会抛出ConcurrentModificationException。不过,迭代器被设计成每次仅由一个线程使用。 ConcurrentHashMap可以做到读取数据不加锁,并且其内部 ...
liuluo129 评论(0) 有3729人浏览 2013-09-17 13:53

ConcurrentHashMap之实现细节

ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足 ...
兩ting 评论(0) 有1014人浏览 2013-08-05 20:27

HashMap和ConcurrentHashMap分享

大家一看到这两个类就能想到HashMap不是线程安全的,ConcurrentHashMap是线程安全的。除了这些,还知道什么呢? 先看一下简单的类图: 从类图中可以看出来在存储结构中ConcurrentHashMap比HashMap多出了一个类Segment,而Segment是一个可重入锁。 ConcurrentHashMap是使用了锁分段技术技术来保证线程安全的。 锁分段技术:首先将数据分成一 ...
qicen 评论(0) 有4891人浏览 2013-07-25 10:29

多线程-并发容器(ConcurrentHashMap,CopyOnWriteListArrayList,BlockingQueu.... )

          首先了解同步容器,同步容器将所有的容器状态的访问都实现串行化,以保证线程安全性,比如:HashMap,List,Map,List等等,这种方法代价严重降低并发性,当多个线程竞争容器锁时,吞吐量会严重降低,JAVA5就提供了多种并发容器来改进同步容器的性能。例如:ComcurrentHashMap,CopyOnWriteArrayList ,ConcurrentMap,Con ...
淘气天空lc 评论(0) 有2591人浏览 2013-07-05 15:23

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics