CLR
2
基础类型

恋那片海 @ 2019/03/06

3
WinDbg探究CLR底层(1) - 应用程序域

一、什么是应用程序域 操作系统由于其稳定性与可靠性的要求,都会使用隔离层,来确保运行在某个隔离层内的代码不会对其他隔扇层的代码产生影响。如Windows通过进程来实现这种隔离机制,所能的可执行代码、数据、以及其它资源都被包含在进程中,系统其他进程通常不允许对它们进行访问。同理、.NET应用程序同样也 ...

行者小Q @ 2018/10/14

5
MSIL指令集

名称说明Add将两个值相加并将结果推送到计算堆栈上。Add.Ovf将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上。Add.Ovf.Un将两个无符号整数值相加,执行溢出检查,并且将结果推送到计算堆栈上。And计算两个值的按位“与”并将结果推送到计算堆栈上。Arglist返回指向当前方法的参数... ...

Cosmic_Spy @ 2018/08/31

6
谈谈JIT编译器和本机影像生成器(NGen.exe)

前言 在看《CLR》的时候,作者在开篇的时候提到了NGen.exe,前面一节执行程序集的代码中提到:程序或方法执行前会执行MSCorEE.dll中的JIT函数把要执行方法的IL转换成本地的CPU指令,讲代码放在内存块中,第二次调用方法的时候,由于已对方法进行了验证和编译,所以会直接执行内存块中的代码... ...

田园里的蟋蟀 @ 2018/08/31

7
线程池ThreadPool知识碎片和使用经验速记

ThreadPool(线程池)大概的工作原理是,初始时线程池中创建了一些线程,当应用程序需要使用线程池中的线程进行工作,线程池将会分配一个线程,之后到来的请求,线程池都会尽量使用池中已有的这个线程进行响应,如果请求过多的话,线程池将会按照策略等待或者创建新的线程进行响应直到达到上限。当线程池中的线程... ...

JeffWong @ 2018/08/31

8
[精华]正则表达式30分钟入门教程(转)

前言 今天做东西的时候碰到个正则表达式的需求,以前做数据验证的时候因为都是一些通用的东西,比如号码验证、邮箱验证等,这些网上都可以找到,但是今天遇到的是比较特别的,如下:数字0-9和小数点、字母w、小于号和小于等于号、大于号和大于等于号、加减乘除+-*/,括号()。比如“1111≥≤]*|[\.]*... ...

田园里的蟋蟀 @ 2018/08/31

9
.NET 类库研究必备参考 扣丁格鲁

.NET 类库的强大让我们很轻松的解决常见问题,作为一个好专研的程序员,为了更上一层楼,研究CLR的基础类库实现是快速稳定的捷径。 ...

ProJKY @ 2018/08/31

10
.NET 类库研究必备参考 添加微软企业库源码

前不久,为大家提供了一个.NET 类库参考源码的网站,扣丁格鲁(谐音“coding guru”),使用了段时间,发现一些不方便的地方,特意做了一些更改,希望大家多提意见,下面是此次更改的地方。 ...

ProJKY @ 2018/08/31

11
C#在.NET编译执行过程

1..NET语言的编译器接受源代码文件,并生成名为程序集的输出文件。程序集要么是可执行的,要么是DLL程序集里的代码并不是本机代码,而是一种名称为CIL的中间语言程序集包含如下信息:程序的CIL程序中使用的类型的元数据对其他程序集引用的元数据2. 程序的编译过程 程序的CIL直到它被调用运行时才会被... ...

幕三少 @ 2018/08/31

12
JITCompiler、NGen.exe及.NET Native

一、JITCompiler如你所知,JIT(just-in-time或“即时”)编译器是CLR的重要组件,它的职责是将IL转换成本地cpu指令。>一书中在CLR的执行模型章节里有一副图形象介绍了一个方法(WriteLine)首次调用时发生的事情:JITCompiler函数被调用时,它知道要调用的是哪... ...

JeffWong @ 2018/08/31

14
CLR - 基础

岩石草 @ 2018/08/31

15
CLR - 设计类型

岩石草 @ 2018/08/31

17
WCF学习一

っ蜉蝣 @ 2018/08/31

18
Windbg 分析CPU上涨

症状: 下班前,收到报警邮件。一个应用的两台服务器CPU 过高。打开监控一看CPU都100了。没找到原因之前,先抓好DUMP 然后重启应用程序池。 !threadpool 可以看到CPU 利用率 !runaway 查看运行的线程和运行时间 解决CPU 高的问题,应该从运行的线程上分析。分析它们都在干 ...

张日海 @ 2018/08/31

19
【C#】CLR内存那点事(初级)

最近回头看了一下书,对内存的理解又有新的认识。我所关注的内存里面说没有寄存器的,所以我关注的只有 托管堆(heap),栈(stack), 字符串常量池(string是一个很特殊的对象)首先我们看两个方法: void M1() { string nam... ...

Eric Guo @ 2018/08/31