
.NET Framework
kntao
互联网行业广告含义,分布式数据存储,大数据计算。
展开
-
理解C#垃圾回收机制
很多系统都有其自身的垃圾回收,其回收机制大体是相同的。它们使程序员从跟踪内存使用的繁重任务中解脱出来。虽然大多数回收器都要求应用程序不时地暂停从而释放不再使用的内存。但C#中的回收器效率还是很高的。 垃圾回收器的基本假定: 1.被分配内存空间的对象最有可能被释放。在方法执行时,就需要为该方法的对象分配内存空间,搜索最近分配的对象集合有助于花费最少的代价来尽可能多地转载 2009-07-30 17:58:00 · 4708 阅读 · 0 评论 -
.NET多线程知识你问我答
读后总结:1. 为什么要有应用程序域(AppDemain)这个概念?都知道每一个进程间都是相互隔离的,所有在进程间通讯是非常麻烦的事,.NET为了能够解决进程间的通信问题,推出了一个新的概念。于是.NET多个进程可以运行在同一个应用程序域中,这样不同应用程序域之间可以相互隔离,做到了安全性,同时降低了进程间通信的难度。2. 为什么要用多线程?如果只有一个CPU的情况下,我们知道原创 2012-02-10 16:51:25 · 1414 阅读 · 0 评论 -
提高.net程序性能和稳定性-CLR Profile
CLR Profile能够看到应用程序的内存堆栈情况并且能够查询垃圾回收机制的行为。利用CLR Profile可以确定你的代码哪儿分配了太多内存,从而导致垃圾回收机制的执行,哪些代码长时间的占有内存。不过CLR Profile不适合在生产环境下使用,因为如果用它,会使你的应用程序的性能下降10倍甚至100倍。请从http://download.microsoft.com/download/4/原创 2011-12-16 18:22:30 · 3841 阅读 · 0 评论 -
弱引用与弱委托
一、弱引用: 我们设计全局缓存时,使用静态或全局字段来引用某个对象,做到一次创建多次使用。比如: class Program { private static DataCache _cache; public static DataCache Cache { get {原创 2011-12-20 15:46:53 · 1577 阅读 · 0 评论 -
.NET垃圾回收机制-代(generation)的原理分析
.NET的垃圾回收器是用一种叫代的原理,假设以下三种情况成立,则提出了代的概念。越是新的对象,他的生存周期就越短越是老得对象,它的生存周期就越长回收一部分堆对象比回收全部堆对象性能高第一步:当声明A-E 五个对象,它们在堆栈的分配情况(垃圾回收机制没有扫描之前),稍后,C和E对象变的不可达第二步:当CLR初始化时,它为第零代分配了256K的空间(可能不同),代越高分配的内存越多原创 2011-12-20 17:10:25 · 2462 阅读 · 0 评论 -
使用Windbg调试.Net应用程序
1. 解决线上.NET应用程序的如下问题:崩溃CPU高程序异常程序Hang死2. 安装WinDbg:http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx3. 配置WinDbg:运行WinDbg->菜单->File->Symbol File Path->按照下面的方法设置_NT_SYMBOL_PATH变量原创 2011-12-20 11:55:46 · 10935 阅读 · 1 评论 -
MSN几个面试问题总结
去MSN中国面试,几个问题,回答的不好。虽然很基础,~(@^_^@)~比如什么是CLR?为什么有C#委托?.NET的优点.为什么选.NET开发?以及怎样优化SQL语句?一条SQL语句是怎样请求运行的?Silerlight的优点?相比Flash?首先要清楚的是,.NET平台与C#不是一回事.对开发人员来讲他有俩个概念:首先,它是C#,VB.net等程序运行的平台;其次,它因为为这些语言提供了丰富的类库(称之为基类库) 对于一个将要面向.NET平台进行开发的人来说,了解一下.NET平台的整个构成是非常有必原创 2011-02-18 13:26:00 · 1788 阅读 · 0 评论 -
.NET框架下跨域的大文件传输的解决方案
<br /> <br />一。需求:要实现跨域的文件传输,需要解决以下两点: 必须能够穿越防火墙,大文件的传输(>400M)。目的地的客户端必须能够随时检查到传输来的文件并进行处理。必须提供队列的可靠的消息传递。<br />基于以上的问题我们提出了以下的解决方案。<br />二。基本结构:<br /><br /> <br />三。基本流程:<br />导出数据的基本流程:<br /><br /> <br />导入基本流程图:<br /><br />三。Code,利用到了Service Broker ,WCF原创 2010-10-27 16:03:00 · 2291 阅读 · 0 评论 -
创建简单的Window Service 实例
创建了一个简单的window Service实例。。原创 2010-10-21 16:32:00 · 2475 阅读 · 0 评论 -
AutoResetEvent 类
通知正在等待的线程已发生事件。无法继承此类。 AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线程需要独占访问的资源。线程通过调用 AutoResetEvent 上的 <a id="ctl00_MTCS_main_ctl44_ctl00_ctl07" onclick="function onclick(){function onclick(){T原创 2010-01-11 10:03:00 · 784 阅读 · 0 评论 -
利用Newtonsoft.Json序列化,反序列化,读取,写入
using Newtonsoft.Json;using Newtonsoft.Json.Converters;//把Json 字符串反序列化为对象目标对象 = JavaScriptConvert.DeserializeObject(JSON字符串, typeof (目标对象));//把目标对象序列化为Json字符串string Json字符串 =原创 2009-10-12 17:47:00 · 4517 阅读 · 1 评论 -
.NET本质
1, .NET继承本质论 (地址引用):http://www.cnblogs.com/pbwf/archive/2008/03/27/1125451.html 2, .NET Delegate 和 Event实质 (地址引用):http://developer.51cto.com/art/200909/150396.htm3, .NET多线程编程: C#多线程编程(1):线程的启动转载 2009-09-25 10:12:00 · 862 阅读 · 0 评论 -
因C#一段代码,引发的问题
请看以下代码:static void Main(string[] args) { Person[] persons = new Person[] { new Person{FirstName="aaa",原创 2012-03-01 17:25:24 · 1167 阅读 · 0 评论