这个方法在key不存在的时候加入一个值,如果key存在就不放入,等价: if (!map.containsKey(key)) return map.put(key, value); else return map.get(key);测试代码:public class T...
                            
                            
                                分类:
其他好文   时间:
2015-02-04 12:33:48   
                                阅读次数:
129
                             
                         
                    
                        
                            
                            
                                Collections.synchronizedMap:实现了线程安全的特性ConcurrentHashMap:保证了线程安全的同时也兼顾了并发访问的性能,将整个数据集合分成了若干个块import java.util.Collections;import java.util.HashMap;impo...
                            
                            
                                分类:
其他好文   时间:
2015-02-01 17:24:14   
                                阅读次数:
188
                             
                         
                    
                        
                            
                            
                                如果你是一名Java开发人员,我能够确定你肯定知道ConcurrentModificationException,它是在使用迭代器遍历集合对象时修改集合对象造成的(并发修改)异常。实际上,Java的集合框架是迭代器设计模式的一个很好的实...
                            
                            
                                分类:
其他好文   时间:
2015-01-30 17:55:08   
                                阅读次数:
195
                             
                         
                    
                        
                            
                            
                                单线程环境下可以使用HashMap和TreeMap。如果不是遍历时需要按照Key的排序来返回结果,应该采用HashMap。
多线程环境下可以使用以下四种Map容器。
1)Collections.synchronizedMap(new HashMap());
2)ConcurrentHashMap
3)Collections.synchronizedSortedMap(new TreeMap())
4)ConcurrentSkipListMap
如果不需要遍历时需要按照Key的排序来返回结果,首选Concur...
                            
                            
                                分类:
编程语言   时间:
2015-01-30 17:41:51   
                                阅读次数:
536
                             
                         
                    
                        
                            
                            
                                首先要了解下java1.6中的ConcurrentMap ,他是一个线程安全的Map实现,特别说明的是在没有特别需求的情况下可以用ConcurrentHashMap。我是想学习一下读写锁的应用,就自己实现了一个SimpleConcurrentHashMap...
                            
                            
                                分类:
编程语言   时间:
2015-01-30 06:48:50   
                                阅读次数:
412
                             
                         
                    
                        
                            
                            
                                题外话,文章中有大量的标识1 标识2,大家可以用ctrl+f来查找。
构成缓存的类
主要就是以下两个:
 com.opensymphony.xwork2.inject.util.ReferenceCache
 com.opensymphony.xwork2.inject.util.ReferenceMap前者继承自后者。
我们先看看ReferenceMap
public class ...
                            
                            
                                分类:
其他好文   时间:
2015-01-24 21:27:29   
                                阅读次数:
327
                             
                         
                    
                        
                            
                            
                                1,Map:映射表数据结构,通过key-value完成映射。HashMap的子实现主要包括:HashMap、LinkedHashMap、TreeMap、WeakHashMap、ConcurrentHashMap、IdentityHashMap。以下总结摘录自《Thingking In Java》
    -1,HashMap:使用Map集合的默认选择。因为HashMap对速度进行了优化。Hash...
                            
                            
                                分类:
其他好文   时间:
2015-01-22 09:28:00   
                                阅读次数:
281
                             
                         
                    
                        
                            
                            
                                一、前言:JDK为我们提供了很多Map接口的实现,使得我们可以方便地处理Key-Value的数据结构。当我们希望快速存取键值对时我们可以使用HashMap。当我们希望在多线程并发存取键值对时,我们会选择ConcurrentHashMap。TreeMap则会帮助我们保证数据是按照Key的自然顺序或者c...
                            
                            
                                分类:
其他好文   时间:
2015-01-18 15:44:01   
                                阅读次数:
409
                             
                         
                    
                        
                            
                            
                                HashTable: 不允许null的key或value, 线程安全HashMap: 允许一个null的key, 无限的null value, 非线程安全LinkedHashMap: HashMap的子类, 但是key的顺序与添加时一致, 且复制不会改变顺序ConcurrentHashMap: 和H...
                            
                            
                                分类:
其他好文   时间:
2015-01-17 06:20:27   
                                阅读次数:
155
                             
                         
                    
                        
                            
                            
                                并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— CompletionService : ...
                            
                            
                                分类:
其他好文   时间:
2015-01-15 15:38:34   
                                阅读次数:
295