文章分类 -  C#学习

C#学习
c#缓存介绍(转)
摘要:c#缓存介绍(转)本章导读缓存主要是为了提高数据的读取速度。因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高程序的性能。本章从缓存所在的命名空间“System.Web.Caching”开始,详细介绍框架提供的缓存类和操作方法,主要涉及简单数据的缓存、数据缓存依赖和数据库缓存依赖三个技术要点,最后演示一个完全使用缓存实现数据读取的实例。讲解流程如图16-1所示。图16-1 缓存命名空间的讲解流程16.1 System.Web.Caching简介本节从缓存命名空间的总体简介和组成结构入手,从整体上对Sys 阅读全文

posted @ 2011-09-26 23:31 Jimmy.x.zhou 阅读(11386) 评论(0) 推荐(0)

GC 管理详解
摘要:Understanding .net CLR garbage collection引言内存管理是计算机科学中一个相当复杂而有趣的领域。在计算机诞生的这几十年间,内存的管理的技术不断进步,使系统能够更加有效地利用内存这一计算机必不可少的资源。一般而言,内存管理可以分为三类:硬件管理(如TLB),操作系统管理(如Buddy System,Paging,Segmentation),应用程序管理(如C++,Java,.net的内存管理机制)。鉴于篇幅和笔者水平的限制,本文只涉及了内存管理的很小一部分,即.net中的内存管理方法。.net是一个当代的应用程序框架,采用了内存自动管理技术,就是通常所说的内 阅读全文

posted @ 2011-09-21 17:27 Jimmy.x.zhou 阅读(554) 评论(0) 推荐(0)

C#中Invoke的用法(转)
摘要:C#中Invoke的用法(转)转自:http://blog.3snews.net/html/30/34530-27563.html在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示。正确的做法是将工作线程中涉及更新界面的代码封装为一个方法,通过 Invoke 或者 BeginInvoke 去调用,两者的区别就是一个导致工作线程等待,而另外一个则不会。而所谓的“一面响应操作,一面添加节点”永远只能是相对的,使 UI 线程的负担不至于太大而已, 阅读全文

posted @ 2011-09-20 10:43 Jimmy.x.zhou 阅读(282) 评论(0) 推荐(0)

关于CLR内存管理一些深层次的讨论[上篇]
摘要:一、程序集与应用程序域何谓程序集(Assembly)?它是一个托管应用的基本的部署单元。一个程序集是自描述的(通过元数据)、能够实施版本策略和部署策略。我倾向于这样的方式来定义程序集:“Assembly is a reusable, versionable, and self-describing building block of a CLR application.”从结构组成来看,一个程序集主要由三个部署组成:IL指令、元数据和资源。程序集的结构组成如下图所示。那么什么又是应用程序域呢?从功能上讲,通过应用程序域实现的隔离机制为托管代码的执行提供了一个安全的边界。从与程序集的关系来讲,我 阅读全文

posted @ 2011-09-19 09:37 Jimmy.x.zhou 阅读(198) 评论(0) 推荐(0)

导航