《CLR via C#》读书笔记 之 CLR执行模型
第一章 CLR的执行模型 1.1 将源代码编译成托管代码1.2 将托管模块合并成程序集1.3 加载公共语言运行时1.4 执行程序集代码 ?托管模块->程序集,区别 ?如何通过清单、元数据找到相应文件及方法 ?win32、win64应用程序区别 1.1 将源代码编译成托管代码 返回 公共语言...
CLR via C# 读书笔记(一)CLR的执行模型
一、公共语言运行时 公共语言运行时(Common Language Runtime,CLR)是一个可由多种编程语言使用的“运行时”。 核心功能:内存管理,程序集加载,安全性,异常处理和线程同步 面向CLR的所有语言可以使用它所有的核心功能 二、托管模块 1.基本概念 托管模块(man...
clr via c#读书笔记
1.managed module:A managed module is a standard 32-bit Microsoft Windows portable executable (PE32) file or a standard 64-bit Windows portable executa...
《CLR via C#》读书笔记(1)CLR执行模型
1.1 释义 CLR 公共语音运行时 Common Language Runtime CTS 通用类型系统 Common Type System CTS、CLS是CLR的...
CLR via C#读书笔记 CLR寄宿和AppDomain
寄宿 寄宿是指让其他应用程序(非托管代码)使用CLR的能力,比如自己用C++开发的窗体能创建CLR实例。 托管代码也能调用非托管代码 [DllImport("kernel32.dll")] public static extern int WinExec(string ex...
《CLR via C#》读书笔记 之 CLR寄宿和AppDomain
第二十三章 CLR寄宿和AppDomain 2013-03-17 22.1 CLR寄宿22.2 AppDomain 跨越AppDomain边界访问对象22.3卸载AppDomain 22.1 CLR寄宿 返回 .NET Framework在Microsoft Windows平台跑,意味着它必须...
《CLR via C#》读书笔记-CLR寄宿与AppDomain
1、CLR寄宿 在Window平台上程序之间的调用分为两类:托管程序调用非托管程序和非托管程序调用托管程序。前者通常使用P/Invoke方式调用,用的最多的就是Win32 编程接口了。举个例子: using System.Runtime.InteropServices;......[...
CLR via C# 读书笔记1-5
本地代码生成器: NGen.exe NGen.exe 能把 IL 代码变异为本地代码,这使得在运行时 CLR 的 JIT 编译器不需要在运行时编译 IL 代码从而提高运行效率。NGen.exe 适用以下两个场景:■ 提高程序的启动速度■ 降低程序的 working set (当你的程序集会被多个进程...
C# CLR及程序集部署浅析
摘 要 .NET Framework 到底是什么?公共语言运行时和 .NET Framework 类库分别指的是什么东西?CLR、 CLS、 CTS、FCL等这些又是什么?为什么出现程序集的概念?它与动态链接库的区别是什么?什么是强命名程序集?如何签名及部署程序集?这一章将帮助您学习和了解...
如何应用CLR线程池来管理多线程
class Program { static void Main(string[] args) { int intWorkerThreas; //定义最大工作线程数 int intCompletionPort...
[CLR via C#]5.4 对象哈希码和dynamic基元类型
原文:[CLR via C#]5.4 对象哈希码和dynamic基元类型FCL的设计者认为,如果能将任何对象的任何实例放到一个哈希表集合中,会带来很多好处。为此,System.Object提供了虚方法GetHashCode,它能获取任意对象的Int32哈希值。如果你重写了Equals方法,那么还应重...
CLR之委托的揭秘(二)
杂谈在开始真正的代码之前,分析一下上周的一些工作内容,发现自己在代码上还是有很多小毛病需要纠正和去更改的,首先之前一直疏于文档的整理,几乎很少去写文档,第二对于接口开发过程中缺少一定的严谨性,很多问题没有考虑清楚就已经代码敲完了,其实应该先针对接口去写一份接口说明文档,一方面提升自己的文档能力,另外...
转 Singleton clr via c#3
/// <summary> /// 注意 只有在构造器没有副作用的时候才能使用这个技术 /// </summary> class Singleton { private static Singleton _value = null...
C# 多线程学习系列三之CLR线程池系列之ThreadPool
一、CLR线程池1、进程和CLR的关系一个进程可以只包含一个CLR,也可以包含多个CLR2、CLR和AppDomain的关系一个CLR可以包含多个AppDomain3、CLR和线程池的关系一个CLR只包含一个线程池所以得出一个CLR下的多个AppDomain共享一个线程池和一个进程下的多个CLR拥有...
MVC的HTTP请求处理过程(IIS应用程序池、CLR线程池)
主要内容本文讲解的是:服务器接受Http Request请求之后,是如何进入.Net CLR,从而进一步操作的。我们大家都知道,IIS必须先接受请求,然后才能有机会进入CLR,但对请求(request)是怎么从Web服务器传送到ASP.NET运行时的却不甚了解。IIS由于版本的不同,在进入CLR时候...
Clr Via C#读书笔记---线程基础
趣闻:我是一个线程:http://kb.cnblogs.com/page/542462/进程与线程进程:应用程序的一个实例使用的资源的集合。每个进程都被赋予了一个虚拟地址空间。线程:对CPU进行虚拟化,可以理解为一个逻辑CPU.windows为每个进程提供了专用的线程(如果代码进入了无线循环,进程就...
第1章 CLR的执行模型
1.1将源代码编译成托管代码模块如上图,用支持CLR的任何一种语言来创建源代码文件。再用一个对应的编译器来检查语法和分析源代码。经编译器编译后生成托管模块(managed module),它是一个可移植执行体文件,它可能是32位(PE32)文件,也可能是64位(PE32+)文件。托管模块包括中间语言...
读书笔记—CLR via C#线程25-26章节
前言这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可以加深自己理解的深度,当然同时也和技术社区的朋友们共享线程线程内部组成线程内核对象 thread ke...
第八章方法(CLR学习)
实例构造器和类(引用类型) 构造器是将类型的实例初始化良好状态的特殊方法。构造器方法在"方法定义元数据表"中始终叫做.ctor(constructor的简称); 创建引用类型的实例时,首先为实例的数据字段分分配呢村,然后初始化对象的附加字段(类型对象指针和同步块索引),最后调用类型的实力构造器来设置...
【Clr in c#】泛型
使用泛型的好处是“代码重用”,极大的提高了开发效率,泛型为开发者提供了以下优势:1,源代码保护 算法的源代码不需要提供给使用泛型算法的开发人员,使用c++模板的泛型技术需要提供。(目前c++模板的泛型技术了解较少)2,类型安全 给泛型算法指定类型时,编译器能理解开发者意图,只有兼容类型能通过...