ConcurrentHashMap的JAVA8实现

一、概述 在JAVA8之前,ConcurrentHashMap是由分段锁实现的 在JAVA8之后,ConcurrentHashMap舍弃了segment,并且大量使用了synchronized,以及CAS无锁操作以保证ConcurrentHashMap操作的线程安全性。另外,底层数据结构改变为...

2018-02-25 20:36:28

阅读数 487

评论数 0

LinkedList原理及常用操作

一、LinkedList原理概述 1.LinkedList概述 LinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同。LinkedList 是基于链表实现的(通过名字也能区分开来),所以它的插入和删除操作比 ArrayList 更加高...

2018-01-09 22:12:02

阅读数 133

评论数 0

HashMap及其原理

1.HashMap实现原理2.存储HashMap会对null值key进行特殊处理,总是放到table[0]位置put过程是先计算hash然后通过hash与table.length取摸计算index值,然后将key放到table[index]位置,当table[index]已存在其它元素时,会在ta...

2017-09-29 21:38:40

阅读数 124

评论数 0

asList和sublist,toArray注意事项

先看一段代码 import java.util.Arrays; import java.util.List; public class asListTest { public static void main(String[] args) { System.out.println(...

2017-09-01 13:15:02

阅读数 145

评论数 0

栈,队列和双端队列的操作

package paixu; import java.util.ArrayList; import java.util.Deque; import java.util.LinkedList; import java.util.List; import java.util.Queue; impor...

2017-08-30 09:58:30

阅读数 177

评论数 0

ArrayList原理及常用操作

一、什么是ArrayList ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函...

2017-08-28 16:05:44

阅读数 131

评论数 0

Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码

import java.util.Collections; import java.util.LinkedList; import java.util.List; public class Test { List list = new LinkedList(); p...

2017-08-28 15:38:31

阅读数 266

评论数 0

Map集合的四种遍历方式以及Map集合中value()方法与keySet()、entrySet()区别

public class mapTest { public static void main(String[] args) { Map map = new HashMap(); map.put(1, "a"); map....

2017-06-18 13:43:29

阅读数 145

评论数 0

集合

1.List和Set的区别 ⑴List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) ⑵List接口有三个实现类:LinkedList,ArrayList,Ve...

2017-03-29 19:56:22

阅读数 149

评论数 0

JAVA中HashMap和LinkedHashMap以及TreeMap的区别

java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和 TreeMap、Map主要用于存储健值对、根据键得到值、因此不允许键重复(重复了覆盖了),但允许值重复 Hashmap 是一个最常用的...

2017-03-19 15:03:00

阅读数 1478

评论数 0

ConcurrentHashMap,hashtable以及两者比较

JDK1.5开始,为了保证hashmap的线程安全,Doug Lea给我们带来了concurrent包。 如何保证线程安全呢 使用的是分段锁的概念,把一个大的MAP拆分成几个小的hashtable,根据key.hashCode()来决定把key放到哪个HashTable中。就是把Map分成了N个S...

2017-02-27 14:20:53

阅读数 4993

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭