一.了解Map集合吗?Map集合都有哪些实现 1.HashMap HashTable LinkedHashMap TreeMap ConcurrentHashMap 二.HashMap和HashTable之间的区别 1.HashMap:底层基于数组+单向链表(红黑树),非线程安全,默认容量为16,允 ...
分类:
其他好文 时间:
2020-03-16 13:18:06
阅读次数:
49
Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景? 1:Vector Vector的底层的实现其实是一个数组 protected Object[] elementData; 他是线程安全的,为什么呢? 由于经常使用的add()方法的源码添加synchronize ...
分类:
其他好文 时间:
2020-03-16 09:57:39
阅读次数:
49
一、数据结构 同HashMap,数组+链表+红黑树,关键属性也和HashMap相同 ConCurrentHashMap支持高并发的访问和更新,它是线程安全的 检索操作不用加锁,get方法是非阻塞的 key和value都不允许为null 二、spread() //高低16位异或处理static fin ...
分类:
其他好文 时间:
2020-03-15 20:48:53
阅读次数:
72
1.Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景 线程安全 Vector:与ArrayList一样,也是通过数组实现的,不同的它支持线程的同步,底层采用synchronized同步方法进行加锁,所以线程安全;即某一时刻只有一个线程能够写Vector,避免多线 ...
分类:
其他好文 时间:
2020-03-15 18:57:38
阅读次数:
69
Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景 线程安全: Vector:如果创建Vector时没有指定容量,则默认容量为10,底层基于数组实现,线程是安全的,底层采用synchronized同步方法进行加锁 添加方法 查询方法 ArrayList:底层基于数 ...
分类:
其他好文 时间:
2020-03-15 15:09:06
阅读次数:
66
Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景 线程安全: Vector:如果创建Vector时没有指定容量,则默认容量为10,底层基于数组实现,线程是安全的,底层采用synchronized同步方法进行加锁 ArrayList:底层基于数组,线程不安全,查询 ...
分类:
其他好文 时间:
2020-03-15 13:06:49
阅读次数:
55
并发编程 Goroutine Goroutine是Go语言特有的并发体,是一种轻量级的线程,由go关键字启动。在真实的Go语言的实现中,goroutine和系统线程也不是等价的。 一个Goroutine会以一个很小的栈启动(可能是2KB或4KB),当遇到深度递归导致当前栈空间不足时Goroutine ...
分类:
其他好文 时间:
2020-03-15 00:05:51
阅读次数:
67
1.单列集合List 1.1 Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景 线程安全: Vector:如果创建Vector时没有指定容量,则默认容量为10,底层基于数组实现,线程是安全的,底层采用synchronized同步方法进行加锁 ArrayList: ...
分类:
其他好文 时间:
2020-03-14 18:39:21
阅读次数:
58
方式一: /** * DateTimeFormatter java 8 线程安全 * @throws Exception */ @Test public void testTimeDiff() throws Exception { // DateTimeFormatter formatter = D ...
分类:
编程语言 时间:
2020-03-14 18:14:00
阅读次数:
377
一、介绍 类的单例设计模式,就是采用一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。 二、单例模式八种方式 1. 饿汉式(静态常量) 2. 饿汉式(静态代码块) 3. 懒汉式(线程不安全) 4. 懒汉式(线程安全,同步方法) 5. ...
分类:
其他好文 时间:
2020-03-14 00:49:05
阅读次数:
42