`
happyqing
  • 浏览: 3151400 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

List,Map,Set 线程安全性

    博客分类:
  • java
阅读更多

 

 List,Map,Set 线程安全性

 

接口

具体实现类

安全性

List

ArrayList

不安全

 

LinkedList

不安全

 

Vector/Stack

安全

Map

HashMap

不安全

 

Hashtable

安全

 

LinkedHashMap

不安全

 

TreeMap

不安全

 

WeakHashMap

不安全

Set

HashSet

不安全

 

LinkedHashSet

不安全

 

TreeSet

不安全

 

参考帮助文档:注意,此实现不是同步的。(不安全)

 

大部分集合类都是不安全的,

 

可通过如下方法同步

 

1.使用Collections. 构建同步

List list = Collections.synchronizedList(new ArrayList());
	...
synchronized(list) {
    Iterator i = list.iterator(); // Must be in synchronized block
    while (i.hasNext())
        foo(i.next());
}

 

2.使用ThreadLocal<T>封装

 

分享到:
评论

相关推荐

    java面试宝典

    125、如何执行一个线程安全的JSP? 31 126、JSP如何处理HTML FORM中的数据? 31 127、在JSP如何包含一个静态文件? 32 128、在JSP中如何使用注释? 32 129、在JSP中如何执行浏览重定向? 32 130、如何防止在JSP或SERVLET...

    list,set,map的区别及使用场景1

    4.Map适合储存键值对的数据5.线程安全集合类与非线程安全集合类 LinkedList、ArrayList、HashSet是非线程安全的,Vector是线程安

    9、并发容器(Map、List、Set)实战及其原理.pdf

    6.JUC并发工具类在大厂的应用场景详解 (1).pdf 7、深入理解 AQS 独占锁之 Reentrantlock 源码分析 (1).pdf ...9、并发容器 (Map、List、Set) 实战及其原理.pdf 10、阻塞队列BlockingQueue 实战及其原理分析.pdf

    Java集合教程吐血整理干货.md

    线程安全的 List CopyOnWriteArrayList 线程安全的Set 线程安全的Map ConcurrentHashMap ConcurrentSkipListMap java集合 线程不安全的集合 HashMap的特点 HashMap在Jdk8之前使用拉链法实现,jdk8之后使用拉链法+红黑...

    Java集合框架完整说明便于了解集合

    java集合在日常开发中经常用到,对基础的掌握尤其重要,其中List,Set,Map的作用以及使用的场景和分类描述,其中Arraylist 与 LinkedList 区别,HashSet与TreeSet与LinkedHashSet对⽐,LinkedHashMap和HashMap,...

    java集合类原理面试题

    有哪些线程安全的List 介绍一下ArrayList的数据结构 谈谈CopyOnWriteArrayList的原理 说一说TreeSet和HashSet的区别 说一说HashSet的底层结构 BlockingQueue是怎么实现的 Stream(不是IOStream)有哪些方法 ...

    JavaSE 笔试 精华

    HashMap实现了Map接口,不是线程安全的。 如何保证线程安全的?每个修改容器中数据的操作都是同步的(synchronized),因此保证了线程安全。 3. String、StringBuffer,StringBuilder之间区别。 String是长度不可变...

    这就是标题—— JUC.pdf

    List Set Map Callable接口 线程创建的方式 callable / runnable FutureTask JUC常用辅助类 CountDownLatch (减少计数器) CyclicBarrier(加法计数器) Semaphore(信号量,流量控制) ReentrantReadWriteLock ...

    Java 面试资源(基础 多线程)

    List、Set、Map是否继承自Collection接口 Collections.sort排序内部原理 HashMap 的实现原理 HashSet 的实现原理 ArrayList 和 LinkedList 的区别 为何Map接口不继承Collection接口 HashMap的底层实现原理 HashMap...

    Java集合容器面试题(2020最新版)

    集合框架底层数据结构哪些集合类是线程安全的?Java集合的快速失败机制 “fail-fast”?怎么确保一个集合不能被修改?Collection接口List接口迭代器 Iterator 是什么?Iterator 怎么使用?有什么特点?如何边遍历边...

    Java并发编程:同步容器

    为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。我们来讨论下同步容器。  一.为什么会出现同步容器?  在...

    Java 基础面试题

    9. mybatis的SqlSession如何保证线程安全 10. Io有哪些流,字节流和字符流的区别 11. String常用api 12. 自动拆装箱发生 13. Collections提供的工具方法 14. String、StringBuffer和StringBuilder区别 15. Map...

    Java开发常见问题总结.docx

    根据需求选择合适的集合类型(List, Set, Map等)。 对于并发环境,使用线程安全的集合类如ConcurrentHashMap、CopyOnWriteArrayList等。 避免在循环中修改集合,可能导致ConcurrentModificationException。 异常...

    java summary(java笔记)

    HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。 HashMap允许将null作为一个entry的key或者...

    java进阶13天资料.zip

    day07-异常,线程的创建方式,,线程安全,线程同步 day08-线程状态,volatile关键字、原子性、并发包、死锁、线程池 day09-方法引用, Stream流,File类 , 递归 ,字节流 day10-字符流, 缓冲流、转换流、序列化流,...

    某大学往年期末考试题:Java考试(含答案).docx

    某大学往年期末考试题:Java...了解Java的集合框架和泛型,包括List、Set、Map等常见集合类型。 掌握Java的文件读写操作,包括读写文件、处理文件路径等。 熟悉Java的多线程编程,包括创建线程、同步线程、线程池等。

    Java 最常见的 208 道面试题:第二模块答案

    20. List、 Set、 Map 之间的区别是什么? 21. HashMap 和 Hashtable 有什么区别? 22. 如何决定使用 HashMap 还是 TreeMap? 23. 说一下 HashMap 的实现原理? 24. 说一下 HashSet 的实现原理? 25. ArrayList 和 ...

    2023Java高频面试题

    Java集合框架:常用的List、Set、Map等集合类及其实现方式、使用场景、遍历方法等。 异常处理:Java中的异常类型、异常处理机制、如何自定义异常等。 IO流:Java中常用的文件读写、序列化和反序列化等操作。 多线程...

    Java 集合框架高难度进阶版面试题集锦解析

    提供了20道高难度的Java集合框架面试题及详细答案解析,涵盖了List、Set、...从数据结构、线程安全性、性能等多个角度深入探讨了集合框架的不同实现和应用场景。适合准备Java面试的开发者深入理解和应用Java集合框架。

    黑马程序员-Java语言进阶-源码、教程笔记.zip

    day03_List、Set、数据结构、Collections day04_Map,斗地主案例 day05_异常,线程 day06_线程、同步 day07_等待与唤醒案例、线程池、Lambda表达式 day08_File类、递归 day09_字节流、字符流 day10_缓冲流、转换流、...

Global site tag (gtag.js) - Google Analytics