HashMap,HashSet,ArrayList都不具备线程安全。可以用Sets=Collections.synchronizedSet(newHashset<...>());Mapm=Collections.synchronizedMap(newHashMap<...>());Listl=Collections.synchronizedList(newArrayList
2.1 HashMap<>不是线程安全的。多线程情况下操作HashMap不是线性安全的,可能会抛出java.util.ConcurrentModificationException并发修改异常。 HashMap就有点复杂了,1.7由数组+链表实现,1.8由...
hashtable是线程安全的,即hashtable的方法都提供了同步机制;hashmap不是线程安全的,即不提供同步机制;hashtable不允许插入空值,hashmap允许!2.多线程并发修改一个集合怎么办用老的Vector/Hashtable类StringBuffer是...
LinkedList、ArrayList、HashSet是非线程安全的,Vector是线程安全的;HashMap是非线程安全的,HashTable是线程安全的;StringBuilder是非线程安全的,StringBuffer是线程安全的。下面是具体的使用介绍:ArrayList与LinkedList的区别和适用...
一些历史类的一般是线程安全的,例如:Vector,HashTable等在jdk升级后,出现了替代一些集合的类,ArrayList,HashMap等,一般都是线程不安全的。
线程兼容是指对象本身并不是线程安全的,但是可以通过在调用端正确地使用同步手段来保证对象在并发环境下可以安全地使用。JavaAPI中大部分的类都是属于线程兼容的。如与前面的Vector和HashTable相对应的集合类ArrayList和HashMap...
有序的:List的所有子类无序的:一般的Set,除了TreeSet,linkedHashSet等底层是树或者链表的。一般的Map,除了底层是树或者链表的。已知的线程安全集合:vector,hashtable,statck,enumeration希望可以帮到你,谢谢!
简单来说,线程安全就是:在多线程环境中,能永远保证程序的正确性。只有存在共享数据时才需要考虑线程安全问题。java内存区域:其中,方法区和堆就是主要的线程共享区域。那么就是说共享对象只可能是类的属性域或静态域。...
HashSet不允许重复(HashMap的key不允许重复,如果出现重复就覆盖),允许null值,非线程安全。构造方法HashSet()构造一个新的空set,其底层HashMap实例的默认初始容量是16,加载因子是0.75。HashSet(Collection<?
线程安全的集合有:Vector、HashTable、Stack、ArrayBlockingQueue、ConcurrentHashMap、ConcurrentLinkedQueue等。线程安全是多线程编程时的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会...