一、概述
以前学习的时候应该都知道HashMap以及Hashtable:
HashMap是线程不安全的,Hashtable是线程安全的。
这里就一源代码的角度看看为什么Hashtable是线程安全的,以及另外一个线程安全的ConcurrentHashMap与Hashtable的比较。
小提示:在Ecilpse中可以用ctrl+shitf+T查找类,这样就容易查看源代码了。...
分类:
其他好文 时间:
2015-08-26 01:56:20
阅读次数:
124
简单的说HashMap是HashTable的轻量级实现,即非线程安全的实现,他们的主要区别概述为: HashMap HashTable(1)允许键和值为null 不允许键或值为null(2)不是同步的,适合单线程 同步的,适合多线程(3)提供可供应用...
分类:
其他好文 时间:
2015-08-25 21:18:55
阅读次数:
128
CallContext是一个可提供类似于HashTable的Key-Value键值对存储的缓存对象。使用方法:1.存储:使用CallContext.SetData(string,object)方法指定缓存指定的对象。2.取值:使用CallContext.GetData(string)方法来获取缓存中...
分类:
Windows程序 时间:
2015-08-25 16:04:46
阅读次数:
3041
Map :存储的是键值对,一对一对出现的,要保证键的唯一性.Map常见的三个子类. 1.HashTable 底层是哈希表结构,不能存在null的情况.该集合是线程同步的.效率低 此类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。2.HashMap 底层是哈希表数...
分类:
其他好文 时间:
2015-08-25 14:04:55
阅读次数:
206
在Delphi中,Inifiles单元中有一个TStringHash的类,不过它的Value仅支持Integer(其实也不是问题,有其它类型可以将变量变为Pointer),有点不舒服,今天没事做就把它替换为variant了,其中Key的名称大小写无关,就是为了加快开发速度!使用Hashtable,查...
Properties:
Hashtable的子类,属于集合类。存储属性累心公的键值对, 键和值默认都是String 是集合中可以和流结合使用的一个集合类
Properties pro = new Properties();
pro.setProperty(“name”, “Tom”);
pro.setProperty(“age”, “19”);...
分类:
编程语言 时间:
2015-08-21 15:47:48
阅读次数:
168
说明:下文中的所谓的优缺点只不过算作一个分隔符,其实只有使用场景的不同,没有孰优孰劣。vector: 【实现】vector的底层就是一个数组,所以其才能有O(1)的查找效率。只不过它是变长的,容量到达end_of_storage时便另寻空间自动扩容一倍,并将原来的数据都拷贝到新空间,之后将原来空.....
分类:
其他好文 时间:
2015-08-20 12:33:28
阅读次数:
122
构思:先计算各自的数量,那些数量最多,输出详细信息具体算法如下: public class Count { #region 计算各实体数量 public static Hashtable EntityCount(DataTable dt, string clm...
一.简介: Properties是java中用的比较多的一个类,表示一个持久的属性集。继承于Hashtable,Properties可从流中加载,也可保存在流中。属性列表中每个键极其对应值共同组成一个字符串。也即可以理解为KEY-VALUE的形式。 很多时候为了提高程序的应用效率,这类Prope.....
分类:
其他好文 时间:
2015-08-19 23:08:44
阅读次数:
108
Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable。另外还有JDK1.2中加入的同步包装类,这些类都是由Collections.synchronizedXXX工厂方法。同步容器都是线程安全的,但是对于复合操作,缺有些缺点:
① 迭代:在查觉到容器在迭代开始以后被修改,会抛出一个未检查异常ConcurrentModificationExc...
分类:
编程语言 时间:
2015-08-19 16:46:47
阅读次数:
190