当前位置: 首页 > news >正文

织梦网站怎么做seo优化网站访客记录

织梦网站怎么做seo优化,网站访客记录,广西南宁最新新闻事件,产品开发流程及每个流程内容一、HashTableHashTable表示键/值对的集合。在.NET Framework中#xff0c;Hashtable是System.Collections命名空间提供的一个容器#xff0c;用于处理和表现类似key-value的键值对#xff0c;其中key通常可用来快速查找#xff0c;同时key是区分大小写#xff1b;value用… 一、HashTableHashTable表示键/值对的集合。在.NET Framework中Hashtable是System.Collections命名空间提供的一个容器用于处理和表现类似key-value的键值对其中key通常可用来快速查找同时key是区分大小写value用于存储对应于key的值。Hashtable中key-value键值对均为object类型所以Hashtable可以支持任何类型的keyvalue键值对任何非 null 对象都可以用作键或值。HashTable是一种散列表他内部维护很多对Key-Value键值对其还有一个类似索引的值叫做散列值(HashCode)它是根据GetHashCode方法对Key通过一定算法获取得到的所有的查找操作定位操作都是基于散列值来实现找到对应的Key和Value值的。散列函数(GetHashCode)让散列值对应HashTable的空间地址尽量不重复。当一个HashTable被占用一大半的时候我们通过计算散列值取得的地址值可能会重复指向同一地址这就造成哈希冲突。C#中键值对在HashTable中的位置Position (HashCode 0x7FFFFFFF) % HashTable.LengthC#是通过探测法解决哈希冲突的当通过散列值取得的位置Postion以及被占用的时候就会增加一个位移x值判断下一个位置Postionx是否被占用如果仍然被占用就继续往下位移x判断Position2*x位置是否被占用如果没有被占用则将值放入其中。当HashTable中的可用空间越来越小时则获取得到可用空间的难度越来越大消耗的时间就越多。使用方法如下using System; using System.Collections;namespace WebApp {class Program{static void Main(string[] args){ Hashtable myHashnew Hashtable();//插入myHash.Add(1,joye.net);myHash.Add(2, joye.net2);myHash.Add(3, joye.net3);//key 存在try{myHash.Add(1, 1joye.net);}catch{Console.WriteLine(Key \1\ already exists.);}//取值Console.WriteLine(key \2\, value {0}., myHash[2]);//修改myHash[2] http://www.cnblogs.com/yinrq/;myHash[4] joye.net4; //修改的key不存在则新增Console.WriteLine(key \2\, value {0}., myHash[2]);Console.WriteLine(key \4\, value {0}., myHash[4]);//判断key是否存在if (!myHash.ContainsKey(5)){myHash.Add(5, joye.net5);Console.WriteLine(key \5\: {0}, myHash[5]);}//移除myHash.Remove(1);if (!myHash.ContainsKey(1)){Console.WriteLine(Key \1\ is not found.);}//foreach 取值foreach (DictionaryEntry item in myHash){Console.WriteLine(Key {0}, Value {1}, item.Key, item.Value);}//所有的值foreach (var item in myHash.Values){Console.WriteLine(Value {0},item);}//所有的keyforeach (var item in myHash.Keys){Console.WriteLine(Key {0}, item);}Console.ReadKey();}} } 更多参考微软官方文档Hashtable 类二、DictionaryDictionaryTKey, TValue 泛型类提供了从一组键到一组值的映射。通过键来检索值的速度是非常快的接近于 O(1)这是因为 DictionaryTKey, TValue 类是作为一个哈希表来实现的。检索速度取决于为 TKey 指定的类型的哈希算法的质量。TValue可以是值类型数组类或其他。Dictionary是一种变种的HashTable,它采用一种分离链接散列表的数据结构来解决哈希冲突的问题。简单使用代码using System; using System.Collections; using System.Collections.Generic;namespace WebApp {class Program{static void Main(string[] args){Dictionarystring, string myDic new Dictionarystring, string();//插入myDic.Add(1, joye.net);myDic.Add(2, joye.net2);myDic.Add(3, joye.net3);//key 存在try{myDic.Add(1, 1joye.net);}catch{Console.WriteLine(Key \1\ already exists.);}//取值Console.WriteLine(key \2\, value {0}., myDic[2]);//修改myDic[2] http://www.cnblogs.com/yinrq/;myDic[4] joye.net4; //修改的key不存在则新增Console.WriteLine(key \2\, value {0}., myDic[2]);Console.WriteLine(key \4\, value {0}., myDic[4]);//判断key是否存在if (!myDic.ContainsKey(5)){myDic.Add(5, joye.net5);Console.WriteLine(key \5\: {0}, myDic[5]);}//移除myDic.Remove(1);if (!myDic.ContainsKey(1)){Console.WriteLine(Key \1\ is not found.);}//foreach 取值foreach (var item in myDic){Console.WriteLine(Key {0}, Value {1}, item.Key, item.Value);}//所有的值foreach (var item in myDic.Values){Console.WriteLine(Value {0},item);}//所有的keyforeach (var item in myDic.Keys){Console.WriteLine(Key {0}, item);}Console.ReadKey();}} } 更多资料参考Dictionary 类三、ConcurrentDictionary表示可由多个线程同时访问的键/值对的线程安全集合。ConcurrentDictionaryTKey, TValue framework4出现的可由多个线程同时访问且线程安全。用法同Dictionary很多相同但是多了一些方法。ConcurrentDictionary 属于System.Collections.Concurrent 命名空间按照MSDN上所说System.Collections.Concurrent 命名空间提供多个线程安全集合类。当有多个线程并发访问集合时应使用这些类代替 System.Collections 和 System.Collections.Generic 命名空间中的对应类型。更多资料ConcurrentDictionaryTKey,?TValue 类 四、对比总结分别插入500万条数据然后遍历看看耗时。using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.Diagnostics;namespace WebApp {class Program{static Hashtable _hashtable;static Dictionarystring, string _dictionary;static ConcurrentDictionarystring, string _conDictionary;static void Main(string[] args){Compare(5000000);Console.ReadLine();Console.Read();}public static void Compare(int dataCount){_hashtable new Hashtable();_dictionary new Dictionarystring, string();_conDictionarynew ConcurrentDictionarystring, string();Stopwatch stopWatch new Stopwatch();// HashtablestopWatch.Start();for (int i 0; i dataCount; i){_hashtable.Add(key i.ToString(), Value i.ToString());}stopWatch.Stop();Console.WriteLine(HashTable插 dataCount 条耗时(毫秒) stopWatch.ElapsedMilliseconds);//DictionarystopWatch.Reset();stopWatch.Start();for (int i 0; i dataCount; i){_dictionary.Add(key i.ToString(), Value i.ToString());}stopWatch.Stop();Console.WriteLine(Dictionary插 dataCount 条耗时(毫秒) stopWatch.ElapsedMilliseconds);//ConcurrentDictionarystopWatch.Reset();stopWatch.Start();for (int i 0; i dataCount; i){_conDictionary.TryAdd(key i.ToString(), Value i.ToString());}stopWatch.Stop();Console.WriteLine(ConcurrentDictionary插 dataCount 条耗时(毫秒) stopWatch.ElapsedMilliseconds);// HashtablestopWatch.Reset();stopWatch.Start();for (int i 0; i _hashtable.Count; i){var key _hashtable[i];}stopWatch.Stop();Console.WriteLine(HashTable遍历时间(毫秒) stopWatch.ElapsedMilliseconds);//DictionarystopWatch.Reset();stopWatch.Start();for (int i 0; i _hashtable.Count; i){var key _dictionary[key i.ToString()];}stopWatch.Stop();Console.WriteLine(Dictionary遍历时间(毫秒) stopWatch.ElapsedMilliseconds);//ConcurrentDictionarystopWatch.Reset();stopWatch.Start();for (int i 0; i _hashtable.Count; i){var key _conDictionary[keyi.ToString()];}stopWatch.Stop();Console.WriteLine(ConcurrentDictionary遍历时间(毫秒) stopWatch.ElapsedMilliseconds);}} } 运行结果可以看出大数据插入Dictionary花费时间最少遍历HashTable最快是Dictionary的1/5,ConcurrentDictionary的1/10单线程建议用Dictionary多线程建议用ConcurrentDictionary或者HashTableHashtable tab Hashtable.Synchronized(new Hashtable());获得线程安全的对象
http://wiki.neutronadmin.com/news/70962/

相关文章:

  • 北京网站设计公司cg成都柚米科技15长沙微信营销公司
  • 简述如何对网站进行推广?网站模板 修改
  • 可以把网站建设在云主机上吗企业邮箱注册需要什么
  • 巴中建设局网站wordpress非插件幻灯
  • 企业做网站需要做哪些工作免费网站商城模板
  • 电子商务 网站开发批量替换wordpress文章中的文字
  • 广州网站建设出名 乐云践新做网站用虚拟主机好不好
  • intitle:网站建设天元建设集团有限公司信息
  • 网站站内优化案例做网站主播要什么条件
  • 茶文化网站建设内容三亚做网站多少钱一平方
  • wordpress多站点优缺点七台河新闻联播2022视频
  • 重庆网站建设找重庆万为最新网站建设语言
  • 上海网站建设 paiky深圳龙华怎么样
  • 双语网站管理系统wordpress站点管理
  • 手机建站wordpress需要身份验证
  • 做财经类网站要许可吗wordpress myqaptcha
  • o2o网站平台怎么做天津网站建设icp备
  • 手机版的网站开发网站的推广方案
  • 网站建设的目的及意义微信小程序登陆入口官网
  • 唐山企业网站做会计网站的流程图
  • 政务网站队伍建设情况怎么做网页游戏代理
  • 怎么看一个网站是不是织梦开发公司名字大全
  • 自己搭建网站的步骤网站群内容管理系统
  • 网站后台验证码无法显示上海招聘网最新招聘
  • 网站建设需要多少钱费用中壹建设工程有限公司官方网站
  • 前程无忧做网站多少钱商城网站建设课设
  • 知名网站建设多少钱海门市住房和城乡建设局网站
  • 在什么网站可以接国外的模具做如何使用阿里云做网站
  • 大型网站开发语言网站建设分为哪三部分
  • 建设网站需要什么条件北京谁会做网站开发