常用的集合类型如ArrayList,HashMap,HashSet等,在并发环境下修改操作都是线程不安全的,会抛出java.util.ConcurrentModificationException异常,这节主要记录如何在并发环境下安全地修改集合数据。 ###List 举个ArrayList线程不安全 ...
分类:
编程语言 时间:
2021-02-19 13:31:24
阅读次数:
0
对于没有覆盖hashCode()方法的对象 如果没有覆盖 hashCode() 方法,那么哈希值为底层 JDK C++ 源码实现,实例每次调用hashcode()方法,只有第一次计算哈希值,之后哈希值会存储在对象头的 标记字(MarkWord) 中。 如果进入各种锁状态,那么会缓存在其他地方,一般是 ...
分类:
编程语言 时间:
2021-02-17 15:05:35
阅读次数:
0
创建一个Person类 创建一个Person类 public class Person{ private String name; private Integer age; public String getName(){ return name; } public void setName(Str ...
分类:
编程语言 时间:
2021-02-16 12:01:09
阅读次数:
0
equals和hashCode详解 http://www.cnblogs.com/Qian123/p/5703507.html 阅读目录 equals()方法详解 hashcode() 方法详解 Hashset、Hashmap、Hashtable与hashcode()和equals()的密切关系 j ...
分类:
其他好文 时间:
2021-02-09 12:25:29
阅读次数:
0
Redis【REmote DIctionary Server】作为当前比较流行的NoSql数据库,以其高性能,高可用的的特点,应用越来越广泛,深得各大企业和开发人员的青睐。 本文主要以一个简单的小例子,简述ServiceStack.Redis动态库在Redis方面的相关应用,仅供学习分享使用,如有不... ...
一.HashMap的内部结构(线程不安全,基于jdk1.7): hashmap是无序的,因为每次根据 key 的 hashcode 映射到 Entry 数组上,所以遍历出来的顺序并不是写入的顺序 HashMap 底层是基于数组和链表实现的,如图所示,其中两个重要的参数:容量和负载因子;容量的默认大小 ...
分类:
其他好文 时间:
2021-02-04 12:08:51
阅读次数:
0
主要是介绍Set(集合) 1 package LS_13; 2 3 import java.util.HashSet; 4 import java.util.Set; 5 6 public class TestSet01 { 7 //set接口的特点 8 //扩展Collection接口 9 //不 ...
分类:
编程语言 时间:
2021-01-26 12:37:30
阅读次数:
0
java集合 集合和数组是对多个数据进行存储操作的结构,简称java容器 数组初始化以后,其长度就确定了;数组一旦定义好,其元素的类型也就确定。 Collection接口 List接口 Vector ArrayList LinkedList Set接口 HashSet LinkedHashSet T ...
分类:
其他好文 时间:
2021-01-21 10:39:12
阅读次数:
0
一、HashMap和TreeMap区别1、HashMap是基于散列表实现的,时间复杂度平均能达到O(1)。 TreeMap基于红黑树(一种自平衡二叉查找树)实现的,时间复杂度平均能达到O(log n)。2、HashMap、TreeMap都继承AbstractMap抽象类;TreeMap实现Sorte ...
分类:
其他好文 时间:
2021-01-20 11:41:36
阅读次数:
0
Java集合——Map 分类 HashMap:主要实现类;线程不安全,效率高;可以存储null的key和value;Java7之前数组+链表,Java8数组+链表+红黑树 LinkedHashMap:可以按照添加顺序实现遍历,同LinkedHashSet SortedMap TreeMap:按照ke ...
分类:
编程语言 时间:
2021-01-18 11:01:21
阅读次数:
0