首页
学习
活动
专区
工具
TVP
发布

卯金刀GG

专栏作者
281
文章
521334
阅读量
29
订阅数
【JAVA进阶】HashMap容量的初始化
HashMap 使用HashMap(int initinalCapacity)初始化;
用户5640963
2019-08-01
1.7K0
【JAVA进阶】HashMAP中加载因子0.75的问题
HashMap has two important properties: size and load factor. I went through the Java documentation and it says 0.75f is the initial load factor. But I can't find the actual use of it.
用户5640963
2019-07-31
9430
对象拷贝类cglib的使用实例
org.apache.commons.beanutils.PropertyUtils.copyProperties(Object dest, Object orig) org.apache.commons.beanutils.BeanUtils.copyProperties(Object dest, Object orig)
用户5640963
2019-07-28
1.7K0
【重点,要考的】数据结构及算法基础--哈希图(HashMap)
在了解HashMap前我们要先了解Object的两个方法:Equals和hashCode()
用户5640963
2019-07-26
3470
各大公司Java后端开发面试题总结(2017更新)
Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。
用户5640963
2019-07-26
5300
【java基础】ConcurrentHashMap1.7和1.8的不同实现
在多线程环境下,使用HashMap进行put操作时存在丢失数据的情况,为了避免这种bug的隐患,强烈建议使用ConcurrentHashMap代替HashMap,为了对ConcurrentHashMap有更深入的了解,本文将对ConcurrentHashMap1.7和1.8的不同实现进行分析。
用户5640963
2019-07-26
4720
java中HashMap详解
当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例:
用户5640963
2019-07-26
5440
【java基础之ConcurrentHashMap源码分析】
ConcurrentHashMap这个类在java.lang.current包中,这个包中的类都是线程安全的。ConcurrentHashMap底层存储数据的结构与1.8的HashMap是一样的,都是数组+链表(或红黑树)的结构。在日常的开发中,我们最长用到的键值对存储结构的是HashMap,但是我们知道,这个类是非线程安全的,在高并发的场景下,在进行put操作的时候有可能进入死循环从而使服务器的cpu使用率达到100%;sun公司因此也给出了与之对应的线程安全的类。在jdk1.5以前,使用的是HashTable,这个类为了保证线程安全,在每个类中都添加了synchronized关键字,而想而知在高并发的情景下相率是非常低下的。为了解决HashTable效率低下的问题,官网在jdk1.5后推出了ConcurrentHashMap来替代饱受诟病的HashTable。jdk1.5后ConcurrentHashMap使用了分段锁的技术。在整个数组中被分为多个segment,每次get,put,remove操作时就锁住目标元素所在的segment中,因此segment与segment之前是可以并发操作的,上述就是jdk1.5后实现线程安全的大致思想。但是,从描述中可以看出一个问题,就是如果出现比较机端的情况,所有的数据都集中在一个segment中的话,在并发的情况下相当于锁住了全表,这种情况下其实是和HashTable的效率出不多的,但总体来说相较于HashTable,效率还是有了很大的提升。jdk1.8后,ConcurrentHashMap摒弃了segment的思想,转而使用cas+synchronized组合的方式来实现并发下的线程安全的,这种实现方式比1.5的效率又有了比较大的提升。
用户5640963
2019-07-25
7460
【java工具类】xml和hashmap的相互转换
import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.StringWriter; import java.util.*; import java.security.MessageDigest; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import javax.crypto.Mac; import javax.crypto.spec
用户5640963
2019-07-25
2.2K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档