当前位置: 首页 > 编程笔记 >

Java中传统集合与并行集合之间的区别

张岳
2023-03-14
本文向大家介绍Java中传统集合与并行集合之间的区别,包括了Java中传统集合与并行集合之间的区别的使用技巧和注意事项,需要的朋友参考一下

众所周知,在Java中,集合是最重要的概念之一,它使Java本身成为一种强大的语言。它仅支持Java中的集合,这使得它可以方便,有效地支持任何类型的数据以及可能对它们进行的CRUD操作。

但是在同一阶段,当集合暴露于多线程环境时,由于某些地方集合缺乏对多线程环境的支持,其性能会有所下降。为了克服此限制,Java引入了并发集合,它不仅克服了多线程环境的局限性,而且还增强了Java以执行多线程数据的能力。

以下是传统收藏与并行收藏之间的重要区别。

序号 传统收藏 并发集合
1 线程安全 Java集合中的大多数经典类(例如数组列表,链接列表,哈希映射等)都不同步,并且在多线程环境中也不是线程安全的。 另一方面,Java在并发集合中引入了相同的类,并在其中实现了同步,这不仅使这些类成为“已同步”,而且本质上是线程安全的。
2 锁紧机构 我们在传统集合中也有一些同步类,例如Vector和Stack,但是这些类在整个集合上使用了锁定,从而降低了性能和执行速度。 另一方面,并发收集引入了部分锁定的概念,在多线程环境中,它仅锁定部分收集,从而提高了这种环境中收集的性能和速度。
3 运行时异常 对于传统的集合,如果我们尝试在集合迭代期间通过单独的线程修改集合,那么我们将获得Runtime Exception ConcurrentModificationException。 另一方面,如果处理并发集合,即并发集合允许在其迭代期间修改集合,则不会出现这种异常。
4 偏爱 由于上述几点原因,传统的集合在多线程环境中不是首选。 另一方面,并发集合在多线程环境中是首选。
5 市场介绍 传统集合是Java中的传统集合类型,在并发集合之前引入。 JDK 1.5中引入了并发集合,即在传统集合之后引入了并发集合。
 类似资料:
  • 本文向大家介绍Java中的集合与集合之间的区别,包括了Java中的集合与集合之间的区别的使用技巧和注意事项,需要的朋友参考一下 Java收集框架用于操纵对象的收集。收集框架包含多个包装器类,便利类,用于传统实现的类,例如vector和Hashtable,收集接口等。     集合是Java集合框架中的接口。它分为两部分- Java util集合-它包含诸如Set,queue,List等的类。 Ja

  • 问题内容: 在Java中,我不了解集合与“数据结构”。在我看来,集合是指列表,集合,映射,队列,而“数据结构”是指用于实现集合的数据结构,例如数组,链接列表或树。例如,ArrayList和LinkedList都是集合,但它们的数据结构分别是数组和链接列表。我是正确的,还是我在混淆条款? 问题答案: 数据结构是如何在内存中的存储器内部表示数据。集合是如何访问它的方法。我强调“可以”这个词。 如果将数

  • 本文向大家介绍Java中列表和集合之间的区别,包括了Java中列表和集合之间的区别的使用技巧和注意事项,需要的朋友参考一下 List和Set这两个接口都属于Collection框架。这两个接口都扩展了Collection接口。它们都用于将对象集合存储为单个单元。  在jdk1.2之前,我们曾经使用Arrays,Vectors和Hashtable将对象分组为一个单元。  序号 键 列表 组 1个 位

  • 本文向大家介绍Java 8中流和集合之间的区别,包括了Java 8中流和集合之间的区别的使用技巧和注意事项,需要的朋友参考一下 Java Collections框架用于存储和处理数据组。它是一个内存中的数据结构,应先计算集合中的每个元素,然后才能将其添加到集合中。 Stream API仅用于处理数据组。它不会修改实际的集合,它们仅根据流水线方法提供结果。 序号 键 馆藏 流 1个 基本的 流API

  • 考虑定义如下的 FooBar1 和 类型: 我的尝试/研究: 它们是双向相互分配的!(手动检查并使用检查 - 请参阅此处) 不过,它们彼此并不完全相同!(与检查 - 见这里) VSCode 的智能感知不会崩溃

  • 并行集合 并行集合 (Parallelized collections) 的创建是通过在一个已有的集合(Scala Seq)上调用 SparkContext 的 parallelize 方法实现的。集合中的元素被复制到一个可并行操作的分布式数据集中。例如,这里演示了如何在一个包含 1 到 5 的数组中创建并行集合: val data = Array(1, 2, 3, 4, 5) val distD