随笔分类 -  C#

摘要:这个博客酝酿好久,不敢发,这个计算机的基本知识,我坦白说,我一直很混沌,一直不清楚,自己写点啥,纠结不知道自己的是否正确,容易被鄙视,尽量测试来论证,但是由于本人水平不高,还是会还怕对于这么基础的知识,还是掌握的不好。 在学习文字编码的细节之前,先要认识几个概念:字符 字符集字符编码字符编码方式 文字: 以视觉方式表现语言体系所用的符号。这个很好理解就是我们每天看见的A、B、C、D、啊、喔、额此类的东西。 字符集: 由于我们日常所见的文字,符号和数字总和的数量是巨大的,同事处理所有的文字是不可能的,所以事先规定使用哪些文字,这些文字的集合就叫字符... 阅读全文
posted @ 2013-11-13 15:19 天添 阅读(3835) 评论(13) 推荐(3) 编辑
摘要:这两天公司要用C#写一个windows服务,做成安装安装包。制作的过程中遇到了一些问题,写完之后总结一下。如果以后在用到的话可以可以参考一下,而且由于原来没有做过,不知道这样做是对是不对,请各位看官如果发现有不当之处请指教。 开始的时候我的开发工具VS 2012,需要用InstallShield,没闹明白,时间紧迫没有搞,改用vs2010。 首先创建一个windows服务: 添加安装程序: 设置服务的属性: 这里面简单设置一下服务的属性,ServiceName就是服务的名称,DispalyName是在本地服务列表中现实的名称,如果DispalyName没有设... 阅读全文
posted @ 2013-11-12 14:01 天添 阅读(30504) 评论(15) 推荐(11) 编辑
摘要:类型,对象,线程栈和托管堆在运行时的相互关系(一)中说到类型,对象,线程栈和托管堆在运行时的相互关系。下面围绕CLR再来讨论这个问题。定义如下两个类。internal class Employee {public public Int32 GetYearsEmployed() { ... }public virtual String GenProgressReport() { ... }public static Employee Lookup(String name) { ... }}internal sealed class Manager : Employee {public overr 阅读全文
posted @ 2012-05-29 23:42 天添 阅读(1184) 评论(0) 推荐(1) 编辑
摘要:一直在园子里都是瞻仰各位大牛,没有留下过一点痕迹。借用糗百中的一句话“光看不发掉人品啊”。从劳动节到现在菜鸟我一直跟智齿作斗争。来上面攒点人品,顺便培养写东西这种文艺修养。哈哈哈哈。。。垃圾是怎么产生的呢? 首先要明确一个问题,什么事垃圾呢?个人窃以为就是:不再被需求的资源。之所以这么说,是觉得这个“垃圾资源”当初也是为某个程序立下汗马功劳的,在后面也会讲到他自己不能决定自己的命运,人家需要就创建他,不需要就摧毁它。 在面向对象的环境中,每个类型都代表一种供程序使用的资源。比如文件、内存、网络、DB。这些资源也是经过一个或短或长的人生之后沦落为“废物”的。 资源的产生:调用IL指令ne... 阅读全文
posted @ 2012-05-22 15:57 天添 阅读(329) 评论(2) 推荐(1) 编辑
摘要:当系统加载一个CLR的进程,进程里面可能有多个线程,这时候系统会给这个进程创建一个大小为1M的线程栈。这个线程栈用来存放方法调用的实参,和方法内部定义的局部变量。下图展示了一个线程栈的栈内存。线程栈的存储是从高位内存地址向地位内存地址构建的。现在假设线程栈执行的代码要调用M1方法。在这个很简单的方法中,应该包含一些初始化这个方法的“序幕”代码,和一些“尾声”代码,负责在方法调用完成之后对方法进行清理。然后才返回给这个方法的调用者。M1方法调用开始时,M1的序幕代码在线程栈上分配局部变量name的内存。如下图然后M1调用M2方法,将name作为一个实参来传递。这造成name局部变量中的地址... 阅读全文
posted @ 2012-05-22 15:50 天添 阅读(1701) 评论(5) 推荐(3) 编辑