抛开检查异常和运行时异常的宗教争论,有很多次那些处理检查异常的例子的可怜构造类库就能让你发疯。
考虑下面你可能想要写的一小段代码:
```
public void createTempFileForKey(String key) {
Map tempFiles = new ConcurrentHashMap<>();
//不编译,因为抛出了IOException...
分类:
编程语言 时间:
2015-05-21 15:37:03
阅读次数:
199
package com.letv.lazybox.task;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor...
分类:
编程语言 时间:
2015-05-20 16:24:52
阅读次数:
243
集 合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会 用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型 (concurrent,copyonright,queue...
分类:
其他好文 时间:
2015-05-14 13:43:39
阅读次数:
110
序言ConCurrentHashMap 是一个被忽视的Java Concurrent包下面的类,在满足并发的「安全性」,和「活跃性」的前提下,做到了与不考虑线程安全的 HashMap 同等效率. 作者是大名鼎鼎的Doug Lea,他老人家在Java 并发领域做的贡献,确实是我们的榜样。下篇文章,对ConCurrentHashMap做一个分析,希望这个代码中的闪光点,能够对各位读者产生启发。...
分类:
其他好文 时间:
2015-05-09 16:37:23
阅读次数:
103
ConcurrentHashMap HashMap 源码 底层实现 分析...
分类:
其他好文 时间:
2015-05-03 09:25:11
阅读次数:
317
Java 内存模型 由于 ConcurrentHashMap 是建立在 Java 内存模型基础上的,为了更好的理解 ConcurrentHashMap,让我们首先来了解一下 Java 的内存模型。 Java 语言的内存模型由一些规则组成,这些规则确定线程对内...
分类:
其他好文 时间:
2015-04-28 12:14:36
阅读次数:
124
static { // Version 0.1
def stickyEvents = new ConcurrentHashMap<Class, Object>()
com.google.common.eventbus.EventBus.metaClass.registerSticky = { object ->
Multimap<Class, ?> metho...
分类:
其他好文 时间:
2015-04-28 12:11:47
阅读次数:
214
参考此文档了解造成死循环的原因?http://coolshell.cn/articles/9606.html。 所以,在多线程使用场景中,应该尽量避免使用线程不安全的HashMap,而使用线程安全的ConcurrentHashMap。 1.段分锁技术 ? ? ? ? ...
分类:
编程语言 时间:
2015-04-23 15:57:48
阅读次数:
239
ConcurrentHashMap的一个NullPointerException异常引起,结合ConcurrentHashMap源码分析为什么ConcurrentHashMap不允许空key和value以及如何改造进行支持。1、异常分析今天碰到一个异常,信息如下:Java12345678910111...
分类:
编程语言 时间:
2015-04-23 15:05:19
阅读次数:
164
HashTable(哈希表)是JDK 1.0时就加入的,效率低,因为线程安全为了提高效率,JDK 1.2加入了HashMap(哈希Map),但是线程不安全。JDK 1.5 为了解决线程安全的问题,加入了ConcurrentHashMap(并发哈希Map)。因此一般的选择是:单线程——HashMap多...
分类:
其他好文 时间:
2015-04-22 01:53:03
阅读次数:
119