早在jdk的1.1版本中,所有的集合都是线程安全的。但是在1.2以及之后的版本中就出现了一些线程不安全的集合,为什么版本升级会出现一些线程不安全的集合呢?因为线程不安全的集合普遍比线程安全的集合效率高的多。随着业务的发展,特别是在web应用中,为了提高用户体验减少用户的等待时间,页面响应速度(也就是效率)是优先考虑的。而且对线程不安全的集合加锁以后也能达到安全的效果(但是效率会低,因为会有锁的获取以及等待)。其实在jdk源码中相同效果的集合线程安全的比线程不安全的就多了一个同步机制,但是效率上却低了不止一点点,因为效率低,所以已经不太建议使用了。下面举一些常用的功能相同却线程安全和不安全的集合。

Vector:就比Arraylist多了个同步化机制(线程安全)。

Hashtable:就比Hashmap多了个线程安全。

ConcurrentHashMap:是一种高效但是线程安全的集合。

Stack:栈,也是线程安全的,继承于Vector。

java中常见的线程安全集合类相关推荐

  1. JAVA中常见的Exception

    这篇文章转载自 : JAVA中常见的Exception 常见的几种如下: NullPointerException - 空指针引用异常 ClassCastException - 类型强制转换异常. I ...

  2. Java中常见的十八种异常!

    作为一只敬业的程序员,就是不能接受我的编程出现bug!可见我们对bug是如此的深恶痛觉!它已成为我们职业生涯中的拦路虎,所以今天小千精心为大家总结一下Java中常见的几种异常,望大家多多注意. 1.j ...

  3. Java中常见RuntimeException与其他异常表及Exception逻辑关系详解

    Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...

  4. java中常见的数据结构分类

    自己总结了下java中常见的数据结构和分类 在这里,我总结了list中数据结构对应我们所学的线性表,属于顺序存储还是链式存储,但没有总结set数据结构对应我们所学的哪一种(按理说应该是集合),是因为t ...

  5. 对Java中常见的四种I/O模型理解

    对Java中常见的四种I/O模型理解 1.1 知识科普 1.1.1 同步阻塞I/O(Blocking I/O) 1.1.1.1 阻塞与非阻塞 1.1.1.2 同步与异步 1.1.1.3 同步阻塞I/O ...

  6. Java中常见的各种锁-超全面

    Java中常见的各种锁(非常全): 原文链接:https://blog.csdn.net/xingchensuiyue/article/details/108716466 乐观锁 乐观锁是一种乐观思想 ...

  7. Java中非法参数的异常,java中常见的异常语句

    Java中常见的8种异常语句 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组下 ...

  8. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  9. java中的后台线程、前台线程、守护线程区别

    java中的后台线程.前台线程.守护线程区别 区别和联系 区别 联系 区别和联系 区别 后台线程和守护线程是一样的. 后台线程不会阻止进程的终止,而前台线程会, 可以在任何时候将前台线程修改为后台线程 ...

最新文章

  1. Forbidden Attack:7万台web服务器陷入被攻击的险境
  2. 产品分析之需求分析的六原则
  3. 迁移学习领域自适应:具有类间差异的联合概率最大平均差异
  4. A problem occurred starting process 'command 'G:\Android\sdk\ndk-bundle\toolchains\mips64el-linux-an
  5. Linux内核中的内存屏障(转)
  6. 【软件质量】软件设计要考虑性能
  7. 嵌入式开发之davinci--- spi 中的时钟极性CPOL和相位CPHA
  8. 面试题 01.03. URL化
  9. system合约源码分析
  10. Navicat 12 安装
  11. Qt编写自定义控件29-颜色选取面板
  12. Zeta电位计算理论
  13. 信息学竞赛学不学计算机史,关于信息学奥赛不得不知道的事
  14. 空间换时间和时间换空间
  15. 计算机知识演讲稿,乔布斯的演讲稿 我们的IT梦想
  16. 使用Best Trace工具查看VPS的去程和回程线路的路由
  17. esp笔记(4)esp8266 连接路由器
  18. 登入联机服务器失败怎么 修复,元气骑士连接服务器失败 连接不上网络怎么办...
  19. 【mysql】mysql 中 text,longtext,mediumtext 字段类型的意思, 以及区别
  20. 图解Http协议 url长度限制

热门文章

  1. Word控件Spire.Doc 【文档操作】教程(五):在 C#、VB.NET 中合并、设置多个 Word 文档
  2. 09-HTML5的多媒体支持
  3. python函数默认返回值_python笔记20_函数返回值
  4. 互联网应用开发如何搭上AI的快车?来厦门开发者Meetup一探究竟
  5. 7-12 列车厢调度(25 分)
  6. Three.js中加载外部fbx格式的模型素材
  7. 计算机用户的利弊,用户眼中外接液晶之后的弊端
  8. 详解 spring 声明式事务(@Transactional)
  9. substring()用法
  10. SQL明细数据排名,取前TOP10