文章分类 - 学习记录
先有鸡还是先有蛋
摘要:1.调试发现在创建Base 对象是,其中的Derived子对象并不会初始化,因为这只是个引用。如果这时直接使用这个子对象,会有异常抛出。当然本例中,因为创建了一个Derived对象,并赋给Base对象的子对象,所以不会有问题.Derived继承自Base,可以说没有Base就没有Derived,可Base里面有一个成员是Derived类型。到底是先有鸡还是先有蛋?这个程序可以正常编译执行并打印结果10。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleAp.
阅读全文
正则表达式
摘要:1.验证是否为整数privateboolIsNumber(stringnum){if(string.IsNullOrEmpty(num)){returnfalse;}if(num=="0"){returntrue;}Regexrg=newRegex("^[0-9]*[1-9][0-9]*$");if(rg.IsMatch(num)){returntrue;}else{returnfalse;}}2. 验证是否为有效IPprivateboolIsValidIP(stringipAddress){stringpattern=@"^(([1-9]|(
阅读全文
C#设计模式读书笔记
摘要:1.打印三角形usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication10{classProgram{publicstaticvoidMain(){Console.Write("inputthelinesnumber:");intlines=int.Parse(Console.ReadLine());Console.WriteLine("");for(inti=1;i<=lines;i++){fo
阅读全文
ini文件
摘要:Demo: http://www.codeproject.com/Articles/1966/An-INI-file-handling-class-using-Cini 文件是Initialization File的缩写,即初始化文件。是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了,但在某些情况,还是要直接编辑.ini才方便,一般只有很熟悉windows才能去直接编辑。开始时用于WIN3X下面,WIN95用注册表代替,以及后面的内容表示一个节,相当于注册表中的键。 除了windows现在...
阅读全文
[转】Windows内存管理
摘要:Windows内存管理本文主要内容:1.基本概念:物理内存、虚拟内存;物理地址、虚拟地址、逻辑地址;页目录,页表2.Windows内存管理3.CPU段式内存管理4.CPU页式内存管理 一、基本概念1. 两个内存概念物理内存:人尽皆知,就是插在主板上的内存条。他是固定的,内存条的容量多大,物理内存就有多大(集成显卡系统除外)。但是如果程序运行很多或者程序本身很大的话,就会导致大量的物理内存占用,甚至导致物理内存消耗殆尽。虚拟内存:简明的说,虚拟内存就是在硬盘上划分一块页面文件,充当内存。当程序在运行时,有一部分资源还没有用上或者同时打开几个程序却只操作其中一个程序时,系统没必要将程序所有的资源.
阅读全文
[转】扫盲-了解Windows内存管理
摘要:对于系统开机后内存的占用量的讨论,各种分析和口水的文章多之又多,似乎开机时占用的内存越小,这个系统就越优秀.但事实是这样么?请您耐心读完下面的文章,寻求最适合自己的解答.---------------------------正文开始--------------------- 原理篇 如果你已经使用Windows有一段时间,你会对虚拟内存和页面文件非常熟悉。在过去,为了在我们内存稀缺的系统中让页面文件尽可能地高效,我们都花费大量的时间来改动虚拟内存设置。 后来,RAM的价格降到了更能让人承受的范围,取代了改动虚拟内存,我可以通过增加更多的RAM来提高系统性能。尽管操作系统仍使用虚拟内存,但是..
阅读全文
【转】浅谈线程池(下):相关试验及注意事项
摘要:浅谈线程池(下):相关试验及注意事项http://www.cnblogs.com/JeffreyZhao/archive/2009/10/20/thread-pool-3-lab.html三个月,整整三个月了,我忽然发现我还有三个月前的一个小系列的文章没有结束,我还欠一个试验!线程池是.NET中的重要组件,几乎所有的异步功能依赖于线程池。之前我们讨论了线程池的作用、独立线程池的存在意义,以及对CLR线程池和IO线程池进行了一定说明。不过这些说明可能有些“抽象”,于是我们还是要通过试验来“验证”这些说明。此外,我认为针对某个“猜想”来设计一些试验进行验证是非常重要的能力,如果您这方面的能力略有.
阅读全文
【转】浅谈线程池(中):独立线程池的作用及IO线程池
摘要:http://www.cnblogs.com/JeffreyZhao/archive/2009/07/24/thread-pool-2-dedicate-pool-and-io-pool.html浅谈线程池(中):独立线程池的作用及IO线程池在上一篇文章中,我们简单讨论了线程池的作用,以及CLR线程池的一些特性。不过关于线程池的基本概念还没有结束,这次我们再来补充一些必要的信息,有助于我们在程序中选择合适的使用方式。 独立线程池 上次我们讨论到,在一个.NET应用程序中会有一个CLR线程池,可以使用ThreadPool类中的静态方法来使用这个线程池。我们只要使用QueueUserWorkIt.
阅读全文
[转】浅谈线程池(上):线程池的作用及CLR线程池
摘要:http://www.cnblogs.com/JeffreyZhao/archive/2009/07/22/thread-pool-1-the-goal-and-the-clr-thread-pool.html作者:Jeffrey Zhao | 出处:博客园 | 2011/10/29 9:25:21 | 阅读37次 线程池是一个重要的概念。不过我发现,关于这个话题的讨论似乎还缺少了点什么。作为资料的补充,以及今后文章所需要的引用,我在这里再完整而又简单地谈一下有关线程池,还有.NET中各种线程池的基础。更详细的内容就不多作展开了,有机会我们再详细讨论这方面的细节。这次,还是一个“概述”性质的.
阅读全文
一起谈.NET技术,关于ASP.NET与CLR相互关系的一些总结
摘要:CLR(COM服务器) CLR作为一个COM服务器实现在MSCorWks.dll文件中。安装.NET Framework时,表示CLR的COM服务器被注册到Windows的注册表里。 MSCorEE.dll(垫片) MSCorEE.dll的职责是判断创建何种版本的CLR。 非托管应用程序宿主调用MSCorEE.dll(shim)中CorBindToRuntimeEx函数或者另一个相似的函数来创建CLR COM的实例。 一台机器可以安装多个版本的CLR,但在机器中只有一个版本的MSCorEE.dll文件。以上两者之间的关系如下代码所示(c++):MSCorEE.dll(垫片)----...
阅读全文
类型、对象、线程堆栈、托管堆栈之间运行时的相互关系
摘要:http://www.haogongju.net/art/227209类型、对象、线程堆栈、托管堆栈之间运行时的相互关系(一)首先来看一些基础知道再看看CLR是怎么工作的,看下图: 当CLR开始加载一个Microsoft Windows进程,在这个进程中可能存在多个线程,当一个线程创建时,它会分配到一个1M大小的堆栈,这个堆栈空间用于向方法传递实参,并用于存储方法内部定义的局部变量,上图展示了一个线程的堆栈内存(右侧)。堆栈是从高位内存地址向低位内存地址构建的,在图中,该纯种执行了一 些代码,它的堆栈上已经有一些数据(显示成堆栈顶部的阴影区域),现在假定线程执行的代码要调用M1方法。在一个最.
阅读全文
浅谈C#堆栈与托管堆的工作方式
摘要:浅谈C#堆栈与托管堆的工作方式http://www.haogongju.net/art/1394761C#初学者经常被问的几道辨析题,值类型与引用类型,装箱与拆箱,堆栈,这几个概念组合之间区别,看完此篇应该可以解惑。 俗话说,用思想编程的是文艺程序猿,用经验编程的是普通程序猿,用复制粘贴编程的是2B程序猿,开个玩笑^_^。 相信有过C#面试经历的人,对下面这句话一定不陌生: 值类型直接存储其值,引用类型存储对值的引用,值类型存在堆栈上,引用类型存储在托管堆上,值类型转为引用类型叫做装箱,引用类型转为值类型叫拆箱。 但仅仅背过这句话是不够的。 C#程序员不必手工管理内存,但要编写高效...
阅读全文
技术支持面试题目-学习记录
摘要:时间 星期 任务 每日英语泛听 每日英语单词 每日英语精读 CLR 完成情况 体育锻炼 Pending related Task 补充说明 连接 2012-5-3 星期四 1进程和线程的差别(Finish)2. 浅谈C#堆栈与托管堆的工作方式(Finish) 2(小时) 1.CLR Via C# 1.中午篮球活动(Finish)2.晚上散步 1.Reflect2.ildasm.exe http://www.cnblogs.com/lmule/archive/2010/08/18/1802774.htmlhttp://www.doc88.com/p-033416202299.h...
阅读全文
如何利用VS实现远程调试
摘要:1. http://en.hugon.ws/articles/visual-studio/remote-debugging/2.http://blog.csdn.net/kaylc/article/details/6179043Remote debugging Category Visual Studio | Publication Date : 7/5/2010The introduction of remote debugging is problematic when both machines are not part of the same domain. The main req.
阅读全文
栈和队列
摘要:1. stackclassStack{intmaxsize;//顺序栈的容量object[]data;//数组,用于存储栈中的数据inttop;//指示栈顶publicobjectthis[intindex]{get{returndata[index];}set{data[index]=value;}}//栈容量属性publicintMaxsize{get{returnmaxsize;}set{maxsize=value;}}//获得栈顶的属性publicintTop{get{returntop;}}//使用构造器初始化栈publicStack(intsize){data=newobject.
阅读全文
常见排序
摘要:http://c.chinaitlab.com/special/cpxsf/index.html1. 插入排序(Insertion Sort)算法的复杂度也是简单的,排序第一个需要1的复杂度,排序第二个需要2的复杂度,因此整个的复杂度就是 1 + 2 + 3 + …… + N = O(N ^ 2)的复杂度。//插入排序voidInsertSort(intarray[],intlength){ inti,j,key; for(i=1;i=0&&array[j]>key;j--) { array[j+1]=array[j]; } //...
阅读全文
递归算法
摘要:C#递归算法理解的实例分析 摘要:C#递归算法的理解是各有千秋,但是对于C#递归算法的理解更要看重C#递归算法使用后的效率性,那么本文就向你介绍一个使用C#递归算法的实例。 - C#递归算法的理解并不是紧紧感觉很好用,那么C#递归算法的使用是要用递归的思路去解决实际的问题,不能单单的理解,那么这里我们就向你介绍一个C#递归算法的例子 C#递归算法实例: 计算数组{1,1,2,3,5,8.......} 第30位值,不用递归,我写出了以下这样的代码:static void Main(string[] args) ...{ int[] num=new int[30]; num[0]=1...
阅读全文
浙公网安备 33010602011771号