Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR) 属性的功能,这些服务通常统称为 WPF 属性系统。由 WPF 属性系统支持的属性称为依赖项属性。上面是官方对依赖项属性的说辞。比较晦涩抽象。再来看看MSDN上给出...
分类:
其他好文 时间:
2014-10-09 19:52:07
阅读次数:
655
.Net4.0 任务(Task)任务(Task)是一个管理并行工作单元的轻量级对象。它通过使用CLR的线程池来避免启动专用线程,可以更有效率的利用线程池。System.Threading.Tasks 命名空间下任务相关类一览:类作用Task管理工作单元Task管理带返回值的工作单元TaskFacto...
分类:
Web程序 时间:
2014-10-09 00:05:47
阅读次数:
268
引言本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中...
分类:
编程语言 时间:
2014-10-05 19:44:59
阅读次数:
318
今天来学习一些.net 的编译原理首先通过书本上内容了解了: .net framewrok 的核心是运行库执行环境,称为公共语言运行库(CLR),在CLR控制下运行的代码称为代码托管(managed code) 但是在CLR执行已经编写好的源代码之前,需要先进行编译它们,编译分为两个阶段: ...
分类:
Web程序 时间:
2014-10-01 11:37:51
阅读次数:
258
volatile:多个线程同时访问一个变量,CLR为了效率,允许每个线程进行本地缓存,这就导致了变量的不一致性。volatile就是为了解决这个问题,volatile修饰的变量,不允许线程进行本地缓存,每个线程的读写都是直接操作在共享内存上,这就保证了变量始终具有一致性。lock:多个线程同时访问一...
分类:
其他好文 时间:
2014-09-30 16:32:09
阅读次数:
186
为初学者推荐关于深入理解.net Framework几本书, 因为我感觉很多初学者不知道买什么书来学习。CLR via C# (第三版) 作者:Jeffrey Richter (周靖译) 清华大学出版社深入理解C#(第2版)作者:Jon Skeet 周靖(译)人民邮电出版社操作系统相关的书籍:深入理...
分类:
其他好文 时间:
2014-09-28 18:27:04
阅读次数:
145
该模式较常见也是使用最频繁的设计模式之一。单态模式的主要作用是保证在JAVA应用程序中某些特定的类只有一个实例存在。该模式的好处:节省内存及系统开销,使用合适的中间件(.NET Remoting),可以把SINGLETON模式扩展为跨多个CLR或多个计算机工作。任何类都可以方便的转换为SINGLET...
分类:
编程语言 时间:
2014-09-28 12:55:42
阅读次数:
208
NET中的资源分托管和非托管,所谓的托管是指CLR(通用语言运行时)中进行管理的资源,它可以由CLR自动进行内存回收. 也就是大家熟知的GC(垃圾回收机制). 而对于 非托管资源,比如数据库连接,COM连接等,那么需要手动清理回收资源. 清理非托管资源,我们可以用析构函数来执行,虽然它的执行时机不确...
分类:
其他好文 时间:
2014-09-26 23:03:48
阅读次数:
260
CLR总是知道托管堆上的对象是什么类型,这是CLR类型安全的前提。托管堆上的每个对象都有一个"类型对象指针",指向托管堆上Type对象的一个实例。我们总是可以通过System.Object的GetType实例方法,获取对象类型。而且,GetType是非虚方法,这样子类就不能重写该方法,子类就没有办法...
分类:
其他好文 时间:
2014-09-26 11:44:38
阅读次数:
114
目录内存分配垃圾收集如何分析内存问题非托管资源参考文献注释NET提供了一个运行时环境 CLR,负责资源管理(内存分配和垃圾收集),通过垃圾回收器(Garbage Collector)—GC,对内存自动回收。每当您创建新对象时,CLR都会从托管堆为该对象分配内存。 只要托管堆中有地址空间可用,运行时就...
分类:
其他好文 时间:
2014-09-24 21:37:07
阅读次数:
258