摘要: 其实在c#中模拟是很简单的 因为他有了队列和栈 不用我们在去创建这样的数据结构了,这个模式也是很简单,在我的理解下 他解决了生产者和消费这之间冲突的问题,说白了也就是多线程争抢资源的问题,一开始学习操作系统的时候对这个模式很是复杂 还设计到了信号量机制,但是现在仔细想来也没有什么必要了!总体思路: 1. 创建一个队列 :用来当作生产者和消费者的缓冲区,所以这个缓冲区应该是做到线程内唯一的 2. 创建两个线程 一个是生产者线程 另一个是消费者线程,做到生产者生产了物品就放到这个缓冲区中,而消费者时时刻刻可以从这个缓冲区中去拿物品,只要是有就可以拿,生产者则只要是缓冲区不满就可以往里面放,而且队列 阅读全文
posted @ 2012-12-24 23:13 plugin-loader 阅读(1574) 评论(0) 推荐(0) 编辑
摘要: 最近在做一个网站的搜索功能,其中有一个功能模块是,当用户输入的汉字是错误的也能识别出来其相似的结果,拿到这个功能后思考之后,决定使用微软的拼音转换组件:Simplified Chinese Pin-Yin Conversion Library 可以把想要搜索的字段换成拼音进行存储这个类库并不太难,而且微软提供了开发文档:相信一看就会:代码如下: /// <summary> /// 获取指定字符串中的单个字符的(不包括多音字)拼音 /// </summary> /// <param name="str"></param> /// 阅读全文
posted @ 2012-12-24 22:54 plugin-loader 阅读(240) 评论(0) 推荐(0) 编辑
摘要: [Serializable] public class Person { private string name; public string Name { get { return name; } set { name = value; } } private int age; public int Age { get { return age; } set { age = value; } } private char gender; public char Gender { get { return gender; } set { gender = value; } } public P 阅读全文
posted @ 2012-12-21 10:18 plugin-loader 阅读(499) 评论(0) 推荐(0) 编辑
摘要: CLR垃圾回收器根据所占空间大小划分对象。大对象和小对象的处理方式有很大区别。比如内存碎片整理 —— 在内存中移动大对象的成本是昂贵的,让我们研究一下垃圾回收器是如何处理大对象的,大对象对程序性能有哪些潜在的影响。 大对象堆和垃圾回收 在.Net 1.0和2.0中,如果一个对象的大小超过85000byte,就认为这是一个大对象。这个数字是根据性能优化的经验得到的。当一个对象申请内存大小达到这个阀值,它就会被分配到大对象堆上。这意味着什么呢?要理解这个,我们需要理解.Net垃圾回收机制。 如大多人所知道的,.Net GC是按照“代”来回收的。程序中的对象共有3代,0代、1代和2代,0代是最... 阅读全文
posted @ 2012-12-18 22:30 plugin-loader 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 一,选择题(皆为单选):1,以下谁是二进制思想的最早提出者?a,伏羲;b,姬昌;c,莱布尼茨;d,柏拉图。答案:A解释:伏羲,中华民族人文始祖,是我国古籍中记载的最早的王。伏羲为人类文明进步做出的具大贡献是始画八卦。八卦可以推演出许多事物的变化,预卜事物的发展。八卦是人类文明的瑰宝,是宇宙间的一个高级“信息库”。早在十七世纪,德国大数学家莱布尼兹创立“中国学院”,研究八卦,并根据八卦的“两仪,四象,八卦,十六,三十二,六十四卦”,发明了二进位记数和当地欧洲先进的计算机。八卦中包含的“二进法”,现在广泛地应用于生物及电子学中。注意:题中问的是“思想”的最早提出者,所以答案为A参考:http:// 阅读全文
posted @ 2012-12-18 12:51 plugin-loader 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 一般经常使用的分词算法汇总:1、基于字符串匹配的分词算法(机械分词算法),按照一定的策略将待分析字符串与“充分大的”机器字典中的词条进行匹配,基于字符串匹配的分词方法主要是正向匹配和逆向匹配,按照长度不同优先匹配可以分为:最大最长匹配和最小最短匹配。这种方法主要是依据字典进行匹配,逐词遍历,词条的选择影响分词的效果。2、基于理解的方法:在分词的同时进行语义分析,利于语法信息和语义信息处理歧义现象。3、基于统计的方法:对语料中的字组频率进行计算,不考虑切分字典。 中文分词算法词典匹配,基于统计,最大匹配、最小匹配对词的长度和字数进行匹配,是关键字排名的核心,而正向匹配和逆向匹配解决了网页内容词与 阅读全文
posted @ 2012-12-17 22:48 plugin-loader 阅读(239) 评论(0) 推荐(0) 编辑
摘要: Ajax方法调用WebService 具体代码如下,简单、易用性强WebService 端:创建webservice服务,并创建服务端代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;using System.Data;namespace jQuery.Learning{ ///<summary> /// WebService1的摘要说明 /// </summary> [WebService(Nam 阅读全文
posted @ 2012-12-15 15:44 plugin-loader 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 一、向前端优化二、减少数据库操作 三、减少磁盘IO 详情如下:向前端优化指的是,在不影响功能和体验的情况下,能在浏览器执行的不要在服务端执行,这样既节省了页面生存周期所浪费的相应时间,也增大了带宽和服务器压力,能在缓存服务器上直接返回的不要到应用服务器,程序能直接取得的结果不要到外部取得,本机内能取得的数据不要到远程取,内存能取到的不要到磁盘取,缓存中有的不要去数据库查询。减少数据库操作指减少更新次数、缓存结果减少查询次数、将数据库执行的操作尽可能的让你的程序完成(例如join、like查询),减少磁盘IO指尽量不使用文件系统作为缓存、减少读写文件次数等。 阅读全文
posted @ 2012-12-09 22:25 plugin-loader 阅读(120) 评论(0) 推荐(0) 编辑
摘要: <script type="text/javascript"> function SetCookies(name,value){ var date =new Date(); document.cookie=name+"="+escape(value)+";expries="+date.toGMTString(); } function GetCookie(name){ var coolie=document.cookie.split(";"); for(var i=0;i<coolie.lengt 阅读全文
posted @ 2012-12-08 22:41 plugin-loader 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 这几天在项目中经常用到缓存,干脆就对这个缓存做了一个简单的封装 ,今后直接那俩用就行了; public class SiteCache { #region 方法 private static readonly Cache _cache; public static readonly int HourFactor; public static readonly int MinuteFactor; static SiteCache() { HourFactor = 1;//小时 MinuteFactor = 1;//分钟 _cache = HttpRuntime.Cache; } /// < 阅读全文
posted @ 2012-11-10 09:11 plugin-loader 阅读(189) 评论(1) 推荐(1) 编辑