@Test

public void test() {

ConcurrentHashMap<String, String> map = new ConcurrentHashMap<String, String>();
map.put("key", "22");
System.out.println(map.putIfAbsent("key", "33"));   //打印:22
System.out.println(map.putIfAbsent("test", "44"));  //打印:null 

}

解释: putIfAbsent方法,添加的时候,看key是否存在,如果已存在,则返回map中该key对应的value

如果不存在,则添加成功,并返回null

Concurrenthashmap的putIfAbsent方法相关推荐

  1. Java8 ConcurrentHashMap的get()方法真的不需要加锁吗?

    一.前言 我们都知道,ConcurrentHashmap这个并发集合框架是线程安全的,当我们看get()方法的源码时,会发现get操作全程没有加锁.但是真的是这样的吗?本文我们就深入的看看它为什么大家 ...

  2. ConcurrentHashMap的扩容方法transfer源码详解

    主要细节问题: 什么时候触发扩容?扩容阈值是多少? 扩容时的线程安全怎么做的? 其他线程怎么感知到扩容状态,从而一起进行扩容? 多个线程一起扩容时,怎么拆分任务,是不是任务粒度越小越好? Concur ...

  3. java中给对象的List集合去重的几种方法(Lambda)

    java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...

  4. 教你设计一个超牛逼的本地缓存!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:ksfzhaohui juejin.im/post/5dd9 ...

  5. 如何设计一个牛逼的本地缓存

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:ksfzhaohui juejin.im/post/5dd9 ...

  6. 如何设计一个本地缓存

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://i7q.cn/4xPYgB 前言 最近在看My ...

  7. 如何设计一个牛逼的本地缓存!

    来源:ksfzhaohui | http://dwz.win/Ws4 最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级缓存和二级缓存:一级缓存相对来说比较简单,功能比较齐全的 ...

  8. 我设计了一个牛逼的本地缓存!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 作者:k ...

  9. Java技术分享:如何设计一个本地缓存?

    前言 最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级缓存和二级缓存:一级缓存相对来说比较简单,功能比较齐全的是二级缓存,基本上满足了一个缓存该有的功能:当然如果拿来和专门的 ...

最新文章

  1. 启信宝CEO陈青山:AI+大数据驱动下的金融新生态
  2. TeeChart Pro ActiveX教程(十九):TeeChart工具集(五)
  3. Linux安装QTCreator问题解决汇总
  4. .NET IdentityServer4实战-开篇介绍与规划
  5. JavaFX上手--第1天
  6. attr()与setAttribute()的区别
  7. apache配置解析php
  8. 笨办法学linux dhcp,iptables使用指南(上)
  9. Soul回应下架整改:将严格审核相关功能和内容
  10. Android Debug Bridge 技术实现原理
  11. 使用Python删除Windows中只读文件
  12. arcpy 查看arcgis的产品类型、产品许可与安装信息
  13. mysql redis binlog_基于binlog的canal到redis的同步
  14. cad在线转换低版本_资源分享/CAD版本转换器
  15. [AndroidO] [RK3399] -- CH341驱动移植
  16. python考勤系统_使用Djang的考勤系统
  17. 推箱子游戏的java设计思路_基于Java推箱子游戏的设计与实现
  18. Specificity and sensitivity
  19. 技术人的七大必备特质
  20. Excel之VBA编程常用语句300句

热门文章

  1. And Design:拓荒笔记——Form表单
  2. elk,centos7,filebeat,elasticsearch-head集成搭建
  3. JSP中鼠标禁用代码
  4. app测试的过程和重点关注内容
  5. crond服务及用法
  6. Given inorder and postorder traversal of a tree, construct the binary tree
  7. linux删除文件夹命令6,Linux下创建、删除文件和文件夹命令
  8. php顶级框架,10个顶级PHP开源项目「2019」
  9. 在千锋学前端的卢同学“不甘于落后,不安于现状”
  10. 在web开发中,为什么前端比后端更得到转行程序员的青睐?必看