首页 > 软件资讯 > 正文

java并发集合,java多线程中并发集合和同步集合有哪些

2020-05-20 09:40:05  来源:http://www.capsicumpm.com  编辑:admin

java多线程中并发集合和同步集合有哪些

先学哪个没有关系,一般教程上是先教多线程,后教集合的,因为集合里涉及到线程安全的问题,先学多线程的话,理解得透彻一些,其它没有影响。本回答被网友采纳

Java中的同步集合与并发集合有什么区别

并发集合可能会有脏读的情况

java并发集合有哪些

1、常用的并发集合类ConcurrentHashMap:线程安全的HashMap的实现CopyOnWriteArrayList:线程安全且在读操作时无锁的ArrayListCopyOnWriteArraySet:基于CopyOnWriteArrayList,不添加重复元素ArrayBlockingQueue:基于数组、先进先出、线程安全,可实现指定时间的阻塞读写,并且容量可以限制LinkedBlockingQueue:基于链表实现,读写各用一把锁,在高并发读写操作都多的情况下,性能优于ArrayBlockingQueue2、原子类AtomicInteger:线程安全的Integer,基于CAS(无阻塞,CPU原语),优于使用同步锁的Integer3、线程池ThreadPoolExecutor:一个高效的支持并发的线程池,可以很容易的讲一个实现了Runnable接口的任务放入线程池执行,但要用好这个线程池,必须合理配置corePoolSize、最大线程数、任务缓冲队列,以及队列满了+线程池满时的回绝策略,一般而言对于这些参数的配置,需考虑两类需求:高性能和缓冲执行。Executor:提供了一些方便的创建ThreadPoolExecutor的方法。FutureTask:可用于异步获取执行结果或取消执行任务的场景,基于CAS,避免锁的使用4、锁ReentrantLock:与synchronized效果一致,但是又更加灵活,支持公平/非公平锁、支持可中断的锁、支持非阻塞的tryLock(可超时)、支持锁条件等,需要手工释放锁,基于AbstractQueueSynchronizerReentrantReadWriteLock:与ReentrantLock没有关系,采用两把锁,用于读多写少的情形

java中泛型与普通集合 有什么联系 有什么关系 概念是怎么样的?

首先,了解一下Java关于泛型的概念。泛型,在C++中被称为模板,就是一种抽象的编程方式。当我们定义类和方法的时候,可以用一种通用的方式进行定义,而不必写出具体的类,这些未知的东西会在真正使用的时候在确定。对于集合类来说,它们可以存放各种类型的元素。如果在存放之前,就能确定元素的类型,那么就可以更加直观,也让代码更加简洁。

java有哪些集合

CollectionListSetHashSetTreeSet 是(用二叉树排序)Map使用key-value来映射和存储数据,Key必须惟一,其中List和Set继承自Collection接口。Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。Map也属于集合系统,但和Collection接口不同。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。HashMap、TreeMap和Hashtable是三个主要的实现类。SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序。