jdk并发包 CopyOnWriteArrayList源码分析...
分类:
其他好文 时间:
2014-09-03 11:23:26
阅读次数:
184
在Java并发包中有这样一个包,java.util.concurrent.atomic,该包是对Java部分数据类型的原子封装,在原有数据类型的基础上,提供了原子性的操作方法,保证了线程安全。下面以AtomicInteger来分析一下其实现过程。/**
* Atomically increments by one the current value.
*
* @return the upda...
分类:
编程语言 时间:
2014-08-18 22:04:52
阅读次数:
309
从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包,而Queue,很多情况下使用到了Atomic操作,因此首先从这里开始)。很多情况下我们只是需要一个简单的、高效的、线程安全的递增递减方案。注意,这里有三个条件:简单,意味着程序员尽可能少的操作底层或者实现起来要比较容易;高效意味着耗用资源要少,程序处理速度要快;线程安全也非常重要,这个在多线程下能保证数...
分类:
编程语言 时间:
2014-08-13 13:12:56
阅读次数:
429
首先volatile是java中关键字用于修饰变量,AtomicReference是并发包java.util.concurrent.atomic下的类。首先volatile作用,当一个变量被定义为volatile之后,看做“程度较轻的 synchronized”,具备两个特性:1.保证此变量对所有线...
分类:
其他好文 时间:
2014-08-13 10:11:35
阅读次数:
255
在JDK1.5版本,新增了并发包,其中包含了显示锁、并发容器。在这些锁和容器里,都有同步器(AQS)的身影。在AQS中,有三个组件:1、原子管理同步状态;2、阻塞线程或恢复线程;3、维护队列,其中包括同步队列及条件队列。为了更好地理解JDK的并发包,我会用三个主题来详细描述AbstractQueuedSynchronizer的实现。...
分类:
其他好文 时间:
2014-07-29 14:34:48
阅读次数:
210
在JDK并发包中有这么一个类ExecutorCompletionService,提交任务后,可以按任务返回结果的先后顺序来获取各任务执行后的结果。...
分类:
其他好文 时间:
2014-07-14 16:50:03
阅读次数:
198
HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHash.....
分类:
编程语言 时间:
2014-07-10 16:27:05
阅读次数:
248
HashMap简介
HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。
HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。
HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。...
分类:
编程语言 时间:
2014-07-06 10:29:26
阅读次数:
404
ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。
ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。
ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了R...
分类:
编程语言 时间:
2014-06-30 17:01:32
阅读次数:
240
使用并发包线程池和XML实现定时任务动态配置和管理,xml配置任务,动态执行类方法,可以灵活配置任务,很实用的东东,希望对大家有所帮助。...
分类:
编程语言 时间:
2014-06-22 17:21:30
阅读次数:
377