Java哪些集合类是线程安全的?
2023-09-27 14:29:12 时间
早在jdk的1.1版本中,所有的集合都是线程安全的。但是在1.2以及之后的版本中就出现了一些线程不安全的集合,为什么版本升级会出现一些线程不安全的集合呢?因为线程不安全的集合普遍比线程安全的集合效率高的多。随着业务的发展,特别是在web应用中,为了提高用户体验减少用户的等待时间,页面响应速度(也就是效率)是优先考虑的。而且对线程不安全的集合加锁以后也能达到安全的效果(但是效率会低,因为会有锁的获取以及等待)。其实在jdk源码中相同效果的集合线程安全的比线程不安全的就多了一个同步机制,但是效率上却低了不止一点点,因为效率低,所以已经不太建议使用了。下面举一些常用的功能相同却线程安全和不安全的集合。
Vector:就比Arraylist多了个同步化机制(线程安全)。
Hashtable:就比Hashmap多了个线程安全。
ConcurrentHashMap:是一种高效但是线程安全的集合。
Stack:栈,也是线程安全的,继承于Vector。
相关文章
- java安全编码指南之:序列化Serialization
- java安全编码指南之:字符串和编码
- java安全编码指南之:Number操作
- 2014面试总结--java、数据 方向
- Java安全学习
- 澳洲留学生面经,Java后端,阿里、头条、百度、华为、微策略
- Java多线程总结之线程安全队列Queue
- Java 8 Optional 类
- Java高并发和多线程系列 - 1. 线程基本概念
- java线程安全问题之静态变量、实例变量、局部变量
- 【Harmony OS】【JAVA UI】AVMetadataHelper 基本使用
- java 项目 文件关系 扫描 注释注入(2)
- 基于 Java 实现校园快递代拿系统【100010218】
- Java学习-007-Log4J 日志记录配置文件详解及实例源代码
- java安全编码指南之:敏感类的拷贝
- java安全编码指南之:可见性和原子性
- java安全编码指南之:堆污染Heap pollution
- 浅析Java对集合进行操作时报java.util.ConcurrentModificationException并发修改异常问题:产生原因、单线程/多线程环境解决、CopyOnWriteArrayList线程安全的ArrayList、fail-fast快速失败机制防止多线程修改集合造成并发问题
- 浅析Java中的时间处理:Date.compareTo比较时间、LocalDateTime 的基本使用
- 【Harmony OS】【JAVA UI】abilitySlice和ability跳转方式
- Java并发编程(十二)Callable、Future和FutureTask
- 【JAVA】输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
- java集合 线程安全
- Java RMI之HelloWorld程序以及相关的安全管理器的知识
- FastDFS搭建及java整合代码【转】
- Resolving Problems installing the Java JCE Unlimited Strength Jurisdiction Policy Files package--转
- 基于 Java 2 运行时安全模型的线程协作--转
- Java 7之集合类型 - 二叉排序树、平衡树、红黑树---转
- JAVA接口
- Java开源后台最美可视化面板
- Java使用aopse实现word转换pdf