图4-2展示了已加载了CLR的一个Microsoft Windows进程。在这个进程中,可能存在多个线程。一个线程创建时,会分配到一个1MB大小的栈。这个栈的空间用于向方法传递实参,并用于方法内部定义的局部变量。 栈是从高位内存地址向低位地址构建的。在图中,假设线程已经执行了一些代码(栈顶部的...
分类:
其他好文 时间:
2014-08-14 13:30:38
阅读次数:
227
概要Windows Forms 控件通常不是thread-safe(直接或间接继承于System.Windows.Forms.Control),因此.NET Framework为防止multithread下对控件的存取可能导致控件状态的不一致,在调试时,CLR-Debugger会抛出一个Invali...
分类:
其他好文 时间:
2014-08-13 21:39:57
阅读次数:
269
分析问题 .NET所有数据都以类型的方式表示,数组也不例外。存储不同类型项目的数组都是一个类型,.NET会自动地为数组生成新的类型。例如下列申明:DateTime[] times; CLR就会在运行时创建一个DateTime[]类型,所以数组类型可以说是一个类型族,而它们的共性就是所有的数组类型.....
分类:
其他好文 时间:
2014-08-13 21:29:57
阅读次数:
182
一个WCF请求由两个线程来完成 运行在IIS上的WCF service, 你可能会注意到一个比较有趣的现象. 当WCF service接收到一个请求时, 这个请求实际上会有两个线程在执行这个请求. 一个线程是来自于CLR的ThreadPool的线程. 这是一个Worker Thread用于接收.sv...
分类:
其他好文 时间:
2014-08-13 18:25:27
阅读次数:
365
程序集 对于C#程序员来说一定不陌生,不就是VS生成的那些exe,dll么。是的,程序集(.net中exe与dll的区别就是exe有程序接入口,即Main函数)就是.net框架下,可以被CLR加载并运行的一堆数据集(类似java中的jar包,无法脱离虚拟机自己运行)。它们和之前C\C++生成的可执....
分类:
其他好文 时间:
2014-08-13 12:19:16
阅读次数:
216
NET框架
Main:
Main 在C#中首字母必须大写,必须是一个类的成员,而不能是全局成员。CLR在启动时调用Main方法,Main方法是程序的入口。如果一个C#程序包括多个Main函数,应该使用/main命令指定哪个Main是程序的入口。
类型:
C#中类型可以分为值类型和引用类型,主要区别是存储方式不同,值类型在栈分配的内存中保存其实际的值,而引用类型变量的地址保存在栈中...
分类:
其他好文 时间:
2014-08-13 10:35:35
阅读次数:
181
第1讲:面试前期准备 1.了解相关技术职务需要的技术人才 2.准备一份出色的个人简历第2讲:面试前期准备 1.多渠道获取面试途径 2.投递简历注意事项 3.掌握面试过程……第3讲:全面认识.NET框架 1.面试题 介绍CTS、CLS、CLR 2.面试题 开发和运行.NET需要的最基本环境 3.面试....
分类:
Web程序 时间:
2014-08-12 21:50:54
阅读次数:
242
前言:CLR事件模式建立在委托的基础上,委托说调用回调方法的一种类型安全的方式。我个人觉得事件本质就是委托,所以把委托弄清楚,只要知道事件基本语法就会使用了(如果说到线程安全,我个人觉得这个应该和线程一起去讨论),所以这篇只做一个简单的时间介绍和写一些我看到的或我用到的一些代码。EventHandl...
分类:
其他好文 时间:
2014-08-12 16:43:14
阅读次数:
278
本书简介本书将从三个方面权威的阐述如何提高.net app 性能问题:验证、测量性能指标,然后辨别它是否超过度量从内存管理、网络、I/O、并发等方面提高应用程序的性能通过CLR的详细的设计细节来解决应用程序的性能瓶颈我们相信.net软件开发人员无法实现高性能的软件解决方案是因为上述三个领域的问题,例...
分类:
其他好文 时间:
2014-08-12 00:04:03
阅读次数:
257
.NET框架概述 .NET 框架为.NET应用程序运行提供虚拟机环境,为.NET应用程序提供编译、运行、内存管理、垃圾回收、安全等服务。 .NET框架组成部分 1.公共语言运行时(Common Language Runtime,CLR) 2.NET框架类库(并非.NET框架中的所有类库代码都是纯粹的...
分类:
Web程序 时间:
2014-08-11 17:06:22
阅读次数:
259