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

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

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

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

序号传统收藏并发集合
1线程安全Java集合中的大多数经典类(例如数组列表,链接列表,哈希映射等)都不同步,并且在多线程环境中也不是线程安全的。另一方面,Java在并发集合中引入了相同的类,并在其中实现了同步,这不仅使这些类成为“已同步”,而且本质上是线程安全的。
2锁紧机构我们在传统集合中也有一些同步类,例如Vector和Stack,但是这些类在整个集合上使用了锁定,从而降低了性能和执行速度。另一方面,并发收集引入了部分锁定的概念,在多线程环境中,它仅锁定部分收集,从而提高了这种环境中收集的性能和速度。
3运行时异常对于传统的集合,如果我们尝试在集合迭代期间通过单独的线程修改集合,那么我们将获得Runtime Exception ConcurrentModificationException。另一方面,如果处理并发集合,即并发集合允许在其迭代期间修改集合,则不会出现这种异常。
4偏爱由于上述几点原因,传统的集合在多线程环境中不是首选。另一方面,并发集合在多线程环境中是首选。
5市场介绍传统集合是Java中的传统集合类型,在并发集合之前引入。在JDK 1.5中引入了并发集合,即在传统集合之后引入了并发集合。