ConcurrentHashMap学习笔记一
来源:互联网 发布:阿里云的好处 编辑:程序博客网 时间:2024/06/07 21:54
记录下ConcurrentHashMap学习,记录日期2017.5.18
1.ConcurrentHashMap——实现类,接口是ConcurrentMap,线程安全,属于java.util.concurrent多线程包下
2.理解putIfAbsent 方法含义
package com.qbao.sms.common.annotation;import java.util.HashMap;import java.util.Map;import java.util.Set;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ConcurrentMap;/** * Description: * * @author suoww * @date 2017/5/18 */public class Test { public static void main(String[] args){ //测试ConcurrentHashMap putIfAbsent// ConcurrentMap<String,Integer> concurrentMap = new ConcurrentHashMap<String, Integer>(10); concurrentMap.put("张三", 1); Integer value1 = concurrentMap.putIfAbsent("张三" , 10); Integer value2 = concurrentMap.putIfAbsent("李欣" , 20); System.out.println(value1); System.out.println(value2); Set<String> keySet = concurrentMap.keySet(); for (String key: keySet) { System.out.println(key + "||" + concurrentMap.get(key)); } System.out.println("--------------"); //HashMap Map<String,Integer> hashMap = new HashMap<String, Integer>(10); hashMap.put("张三", 1); Integer value3 = hashMap.put("张三" , 10); Integer value4 = hashMap.put("李欣" , 20); System.out.println(value3); System.out.println(value4); Set<String> keySet2 = hashMap.keySet(); for (String key: keySet2) { System.out.println(key + "||" + hashMap.get(key)); } }}
总结:
1.和hashMap比较发现,ConcurrentHashMap通过使用putIfAbsent可以保证特定key对应的value值不会被其他线程所覆盖。putIfAbsent含义就是不存在某key value才会放进去,存在了则不会放进去。
2.无论ConcurrentHashMap还是HashMap返回值都是<K,V>中的V值
阅读全文
0 0
- ConcurrentHashMap学习笔记一
- concurrentHashMap学习(一)
- ConcurrentHashMap学习笔记(Java8)
- ConcurrentHashMap学习笔记
- 学习笔记二之ConcurrentHashMap
- HashTable和ConcurrentHashMap学习笔记
- Java学习笔记(二)ConcurrentHashMap
- ConcurrentHashMap笔记
- ConcurrentHashMap笔记
- ConcurrentHashMap学习
- ConcurrentHashMap学习
- 疯狂Java学习笔记(80)-----------并发容器之ConcurrentHashMap
- Java学习笔记(80)-----------并发容器之ConcurrentHashMap
- [JAVA学习笔记-86]ConcurrentHashMap与synchronizedMap的对比
- 深入ConcurrentHashMap一
- ConcurrentHashMap 解读(一)
- jdk-ConcurrentHashMap(一)
- ConcurrentHashMap源代码阅读笔记
- 基于vs2008编译Tesseract 3.02.02
- 去除idea中xml黄色背景
- 2017第八届蓝桥杯C/C++ B组省赛题解(上)
- iOS: UILabel的adjustsFontSizeToFitWidth与 sizeToFit与sizeThatFits
- 手机流量实惠套餐
- ConcurrentHashMap学习笔记一
- Zookeeper集群搭建
- Spring AOP注解
- [iOS]UIAlertController各标签属性的改变
- LeetCode 219. Contains Duplicate II ***** 滑动窗口,查找表 217.Contains Duplicate
- Hologram 的稳定性
- Android性能优化-电量优化
- Python模块学习:threading 多线程控制和处理
- OpenCV永久配置(win7 64位+VS2012+OpenCV 2.4.6)