GreenLeaves

371 篇文章
52 人订阅

C#

用户1216679

C# Command命令(行为型模式)+队列 实现事务,带异步命令重试机制和生命周期

耦合是软件不能抵御变变化的根本性原因,不仅实体对象与实体对象之间有耦合关系(如创建性设计模式存在的原因),对象和行为之间也存在耦合关系.

841
用户1216679

C# 多线程九之Timer类

相信写过定时任务的小伙伴都知道这个类,非常的轻量级,而且FCL中大量的类使用了这个方法,比如CancellationTokenSource的CancelAfte...

713
用户1216679

C# 多线程八之并行Linq(ParallelEnumerable)

关于并行Linq,Ms官方叫做并行语言集成(PLINQ)查询,其实本质就是Linq的多线程版本,常规的Linq是单线程的,也就是同步的过程处理完所有的查询.如果...

1192
用户1216679

C# 多线程五之Task(任务)

为什么MS要推出Task,而不推Thread和ThreadPool,以下是我的见解:

1901
用户1216679

C# 多线程学习系列四之取消、超时子线程操作

虽然ThreadPool、Thread能开启子线程将一些任务交给子线程去承担,但是很多时候,因为某种原因,比如子线程发生异常、或者子线程的业务逻辑不符合我们的预...

1782
用户1216679

C# 字符串操作基本过程(Equals、Compare、EndsWith等处理方法)

3772
用户1216679

字符、字符串和文本的处理之Char类型

1822
用户1216679

C# 静态构造函数

1、在类实例被初始化的时候执行 ? 2、在类的静态成员被调用的时候执行 ? 3、静态构造函数只会被执行一次,代码如下: static class Progr...

3464
用户1216679

五、CLR加载程序集代码时,JIT编译器对性能的产生的影响

1、CLR首次加载代码造成的性能损失      四、CLR执行程序集中代码介绍了CLR在首次执行一个类的时,会初始化一个内部结构,然后当目标方法被首次调用时,...

3027
用户1216679

六、CLR下的托管代码应用程序与非托管代码程序之间的性能对比

1、托管程序二次编译的问题,以及微软做的优化 五、CLR加载程序集代码时,JIT编译器对性能的产生的影响中介绍了CLR下托管应用程序的二次编译对性能产生的影响....

2604
用户1216679

八、通用类型系统

1、通用类型简介         CLR中的一切都围绕类型展开,因为IL是面向对象的高级机器语言.类型向应用程序和其他类型公开了功能.通过类型,用一种编程语言写...

2826
用户1216679

九、将cs文件快速的转换成可执行文件和响应文件(配置编译开关的文件)

1、将包含多个类型的源代码文件转换为可以部署的文件。有如下Program.cs的文件,代码如下: public sealed class Program...

2927
用户1216679

十、元数据概述

前面说过C#源文件经过C#编译器生成一个可执行的exe文件,该可执行的PE文件由以下几个部分组成: (1)、PE32(+)头   Windows要求的标准信息 ...

2787
用户1216679

三、公共语言运行时(CLR)简介

二、源代码=>程序集及程序集概念介绍中介绍了源代码通过C#编译器生成程序集(或者可执行应用程序exe)的整个过程,本文主要介绍公共语言运行时与程序集的关系. 1...

2286
用户1216679

二、源代码=>程序集及程序集概念介绍

文本脉络图如下: ? 一、源代码-面向CLR的编译器-托管模块-(元数据&IL代码)中介绍了编译器将源文件编译成托管模块(中间语言和元数据),本文主要介绍如何将...

2179
用户1216679

一、源代码-面向CLR的编译器-托管模块-(元数据&IL代码)

本文脉络图如下: ? 1、CLR(Common Language Runtime)公共语言运行时简介 ? (1)、公共语言运行时是一种可由多种编程语言一起使用的...

30410
用户1216679

C# new关键字和对象类型转换(双括号、is操作符、as操作符)

一、new关键字 CLR要求所有的对象都通过new来创建,代码如下: Object obj=new Object(); 以下是new操作符做的事情 1、计算类型...

2119
用户1216679

C# 命名空间和程序集

一、命名空间 1、通过使用using关键字引入命名空间,减少代码量 命名空间对相关的类型进行逻辑分组,通过命名空间能快速的定位到相关的类型,例如:在System...

2248
用户1216679

C# (类型、对象、线程栈和托管堆)在运行时的相互关系

  在介绍运行时的关系之前,先从一些计算机基础只是入手,如下图: ? 该图展示了已加载CLR的一个windows进程,该进程可能有多个线程,线程创建时会分配到1...

2347
用户1216679

Linq基础知识之延迟执行

Linq中的绝大多数查询运算符都有延迟执行的特性,查询并不是在查询创建的时候执行,而是在遍历的时候执行,也就是在enumerator的MoveNext()方法被...

24310

扫码关注云+社区

领取腾讯云代金券