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

java集合类

 
阅读更多

线程安全:多线程访问同一代码,不会产生不确定的结果。 (与单线程运行结果一样的就是线程安全的)

 

 

多线程情况下,应尽量使用java.util.concurrent包下的类.Collections.synchronizedMap();

 

 

Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,

其中阻塞队列的典型例子是BlockingQueue,

非阻塞队列的典型例子是ConcurrentLinkedQueue

 

 BlockingQueue常用的四个实现类

1) ArrayBlockingQueue: 基于数组的阻塞队列,内部维护了一个定长数组,以便缓存队列中的数据对象,规定大小的BlockingQueue,必须指明其大小.其所含的对象是以FIFO(先入先出)顺序排序的,队列中的锁是没有分离的,即生产和消费用的是同一个锁.

2) LinkedBlockingQueue:基于链表的阻塞队列,其内部也维持着一个数据缓冲队列(该队列由一个链表构成),大小不定的BlockingQueue,若其构造函数带一个规定大小的参数,生成的BlockingQueue有大小限制,若不带大小参数,所生成的BlockingQueue的大小由Integer.MAX_VALUE来决定.其所含的对象是以FIFO(先入先出)顺序排序的,队列中的锁是分离的,即生产用的是putLock,消费是takeLock.

3) PriorityBlockingQueue:类似于LinkedBlockQueue,但其所含对象的排序不是FIFO,而是依据对象的自然排序顺序或者是构造函数的Comparator决定的顺序.
4) SynchronousQueue:特殊的BlockingQueue,对其的操作必须是放和取交替完成的.

 

栈是后进先出

队列是先进先出

 

 

Stack    堆栈            后进先出LIFO     无 (父类Vector)      

Queue  队列            先进先出FIFO     无

Deque  两端队列      LIFO+FIFO        迭代器(父类Queue子类LinkedList)

 

Queue:

Deque                                  interface

BlockQueue                         interface

ConcurrentLinkedQueue     class

 

Deque:

ArrayDeque                                                      class

LinkedList                                                         class

LinkedBlockingDeque(BlockingDeque)            class

BlockingDeque                                                 interface

 

 

 

 

 

 

 

 

 

 

 

参考:http://blog.csdn.net/xin_jmail/article/details/26157971,
http://chenjumin.iteye.com/blog/2182322,
http://wsmajunfeng.iteye.com/blog/1629354,
http://www.cnblogs.com/linjiqin/archive/2013/05/30/3108188.html

 

  • 大小: 51.9 KB
分享到:
评论

相关推荐

    java集合类详解(set list ArrayList等java集合类详述)

    Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...

    Java集合排序及java集合类详解.pdf

    ### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...

    第13讲 JAVA集合类.ppt

    Java集合类是Java编程语言中用于存储和管理对象的关键组件,它们构成了Java Collections Framework的核心。这个框架提供了一组高效、灵活的数据结构,使得开发者能够轻松地处理数据集合,而无需关心底层实现的复杂性...

    java集合类线程安全.doc

    所涉及的集合类不仅包括 Java SE 1.2 引入的集合类,还包括旧集合类(Java SE 1.2 前引入)和新集合类(Java SE 5 引入)。 Java 线程安全的等级定义根据 Bloch 的定义,将线程安全分为五个等级: 1. 非可变:如果...

    一张图让你看清Java集合类

    一张图让你看清Java集合类 所有精华 集于一图 一目了然 形象易懂 十分中肯 绝对干货!

    大公司最喜欢问的Java集合类面试题

    ### Java集合类重要知识点 #### 一、概述 在Java编程中,集合类是一个非常重要的概念,主要用于存储和管理对象的集合。Java集合框架主要包括两大类:`Collection`和`Map`。本篇文章将着重介绍`Collection`部分,并...

    Java集合类性能分析

    ### Java集合类性能分析 #### 一、Java集合框架概览 Java集合框架是一个非常重要的概念,它提供了处理数据集合的标准方法。集合框架的核心部分主要包括集合接口、抽象类以及具体的实现类。 - **集合接口**:Java...

    java集合类详解

    Java集合类是Java语言中用来存储数据的结构,它们是Java开发中非常重要的组件。在Java 2平台之前,集合框架的组成较为零散,自Java 2平台的JDK 1.2版本之后,引入了集合框架(Collections Framework),为集合类提供...

    java 集合类 容器类

    ### Java集合类与容器类详解 #### 一、引言 在Java编程中,集合类是一种非常重要的数据结构,用于存储一系列对象。相比于数组,集合类提供了更多的灵活性和功能,尤其是在处理未知数量的对象时更为方便。Java标准...

    java集合类面试题总结

    Java 集合类面试题总结 Java 集合类是 Java 语言中的一种重要组件,用于存储和操作数据。下面总结了 Java 集合类的一些常见问题和答案。 HashMap 和 Hashtable 的区别 HashMap 和 Hashtable 都是 Java 中的散列表...

    Java 集合排序及java 集合类详解

    Java 集合排序及java 集合类详解 Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是...

    Java集合类图片

    Java集合类,在图片上体现出来,为了更好的描述,本来是博客里的,不好往博客里插,所以单独弄出来了。

    Java集合类矩阵图

    Java集合类矩阵图是Java编程中非常重要的一个概念,它主要涵盖了Java集合框架中的各种接口、类以及它们之间的关系。这个矩阵图可以帮助开发者更清晰地理解Java集合框架的层次结构和实现方式。在这个矩阵图中,你可以...

    java集合类精华大全

    Java集合类是Java编程中非常重要的一个部分,它为开发者提供了灵活的数据结构,用来存储和管理数据。在Java中,集合类主要分为三大类:Set、List和Map,它们都位于`java.util`包中。 Set接口表示无序且不允许重复...

    Java 集合类 简单Demo

    本示例主要探讨的是Java集合类的简单使用,通过一个名为`CollectionsTest.java`的文件进行演示。这篇博客文章可能详细解释了如何创建、操作和理解Java集合类的基本概念。 首先,Java集合框架主要包括接口和实现这些...

    java集合分类总结.doc

    Arrays和Collections是Java集合中的两个工具类。Arrays类包含用来操作数组的各种方法,如排序和搜索等。Collections类主要提供了在collection上进行操作的方法,如排序、查找等。 学习Java集合需要掌握以下几个方面...

    java 集合类讲解

    Java集合类是Java编程语言中一个非常重要的概念,它提供了数据结构和算法的实现,使得开发者可以方便地存储、管理和操作对象。Java集合框架包括多种接口(如List、Set、Queue)和实现这些接口的类(如ArrayList、...

    java集合类演示源码

    集合类的框架为集合的实现者提供了大量的接口和抽象类,并对其中的某些机制给予了描述,例如,Iterator(迭代协议)。实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户...

Global site tag (gtag.js) - Google Analytics