Concurrenthashmap的putIfAbsent方法
@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方法相关推荐
- Java8 ConcurrentHashMap的get()方法真的不需要加锁吗?
一.前言 我们都知道,ConcurrentHashmap这个并发集合框架是线程安全的,当我们看get()方法的源码时,会发现get操作全程没有加锁.但是真的是这样的吗?本文我们就深入的看看它为什么大家 ...
- ConcurrentHashMap的扩容方法transfer源码详解
主要细节问题: 什么时候触发扩容?扩容阈值是多少? 扩容时的线程安全怎么做的? 其他线程怎么感知到扩容状态,从而一起进行扩容? 多个线程一起扩容时,怎么拆分任务,是不是任务粒度越小越好? Concur ...
- java中给对象的List集合去重的几种方法(Lambda)
java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...
- 教你设计一个超牛逼的本地缓存!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:ksfzhaohui juejin.im/post/5dd9 ...
- 如何设计一个牛逼的本地缓存
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:ksfzhaohui juejin.im/post/5dd9 ...
- 如何设计一个本地缓存
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://i7q.cn/4xPYgB 前言 最近在看My ...
- 如何设计一个牛逼的本地缓存!
来源:ksfzhaohui | http://dwz.win/Ws4 最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级缓存和二级缓存:一级缓存相对来说比较简单,功能比较齐全的 ...
- 我设计了一个牛逼的本地缓存!
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 作者:k ...
- Java技术分享:如何设计一个本地缓存?
前言 最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级缓存和二级缓存:一级缓存相对来说比较简单,功能比较齐全的是二级缓存,基本上满足了一个缓存该有的功能:当然如果拿来和专门的 ...
最新文章
- 启信宝CEO陈青山:AI+大数据驱动下的金融新生态
- TeeChart Pro ActiveX教程(十九):TeeChart工具集(五)
- Linux安装QTCreator问题解决汇总
- .NET IdentityServer4实战-开篇介绍与规划
- JavaFX上手--第1天
- attr()与setAttribute()的区别
- apache配置解析php
- 笨办法学linux dhcp,iptables使用指南(上)
- Soul回应下架整改:将严格审核相关功能和内容
- Android Debug Bridge 技术实现原理
- 使用Python删除Windows中只读文件
- arcpy 查看arcgis的产品类型、产品许可与安装信息
- mysql redis binlog_基于binlog的canal到redis的同步
- cad在线转换低版本_资源分享/CAD版本转换器
- [AndroidO] [RK3399] -- CH341驱动移植
- python考勤系统_使用Djang的考勤系统
- 推箱子游戏的java设计思路_基于Java推箱子游戏的设计与实现
- Specificity and sensitivity
- 技术人的七大必备特质
- Excel之VBA编程常用语句300句
热门文章
- And Design:拓荒笔记——Form表单
- elk,centos7,filebeat,elasticsearch-head集成搭建
- JSP中鼠标禁用代码
- app测试的过程和重点关注内容
- crond服务及用法
- Given inorder and postorder traversal of a tree, construct the binary tree
- linux删除文件夹命令6,Linux下创建、删除文件和文件夹命令
- php顶级框架,10个顶级PHP开源项目「2019」
- 在千锋学前端的卢同学“不甘于落后,不安于现状”
- 在web开发中,为什么前端比后端更得到转行程序员的青睐?必看