posted @ 2010-10-07 11:09 qianyz 阅读(367) 评论(0) 推荐(0) 编辑
摘要:
1、简介能够动态执行 C# 代码是一件很酷的功能,比如,我们可以在控制台中输入一行 C# 代码,然后程序自动编译并执行这一行代码,将结果显示给我们。这差不多就是一个最简单的 C# 代码解释器了。动态执行 C# 代码又是一件很有用的功能,比如,我们可以将某些代码写在某个文件之中,由程序集在执行时进行加载,改变这些代码不用中止程序,当程序再次加载这些代码时,就自动执行的是新代码了。下面,我将在写一个简... 阅读全文
摘要:
CLR探索系列:System.Object内存布局模型及实现研究 只有深究最本质的东西,才能把握最本质的东西。有很多朋友都分析过System.Object作为Dotnet Framework里面的一个基类,她的特性、方法特点及其相关的概念,这篇博文里面,我就从System.Object这个基类的定义以及底层实现的角度,探索这个基类对象在内存里面的布局模型,探索这个基类最本质的面目。首先,从一个Ty... 阅读全文
posted @ 2010-10-07 10:48 qianyz 阅读(336) 评论(0) 推荐(0) 编辑
摘要:
c/c++结构体对齐小结(2010-08-31 18:45:58) 转载标签: it分类: 学习转载 一许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。当一种类型S的对齐模数与另一种类型T的对齐模数的比值是大于1的整数,我们... 阅读全文
posted @ 2010-10-07 10:44 qianyz 阅读(468) 评论(0) 推荐(0) 编辑
摘要:
c/c++结构体对齐小结(2010-08-31 18:45:58) 转载标签: it分类: 学习转载 一许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。当一种类型S的对齐模数与另一种类型T的对齐模数的比值是大于1的整数,我们... 阅读全文
posted @ 2010-10-07 10:26 qianyz 阅读(376) 评论(0) 推荐(0) 编辑
摘要:
.net托管环境下struct实例字段的内存布局(Layout)和大小(Size) 在C/C++中,struct类型中的成员的一旦声明,则实例中成员在内存中的布局(Layout)顺序就定下来了,即与成员声明的顺序相同,并且在默认情况下总是按照结构中占用空间最大的成员进行对齐(Align);当然我们也可以通过设置或编码来设置内存对齐的方式,有关C/C++中(设置)内存对齐的讨论,可以参考我以前写的... 阅读全文
posted @ 2010-10-07 10:23 qianyz 阅读(228) 评论(0) 推荐(0) 编辑
摘要:
在.NET的所有技术中,最具争议的恐怕是垃圾收集(Garbage Collection,GC)了。作为.NET框架中一个重要的部分,托管堆和垃圾收集机制对我们中的大部分人来说是陌生的概念。在这篇文章中将要讨论托管堆,和你将从中得到怎样的好处。 为什么要托管堆? .NET框架包含一个托管堆,所有的.NET语言在分配引用类型对象时都要使用它。像值类型这样的轻量级对象始终分配在栈中,但是所有的类实例和数... 阅读全文
posted @ 2010-10-07 10:20 qianyz 阅读(207) 评论(0) 推荐(0) 编辑
摘要:
摘自:维生素C.NET[前言:].Net平台提供了许多新功能,这些功能能够帮助程序员生产出更高效和稳定的代码。其中之一就是垃圾回收器(GC)。这篇文章将深入探讨这一功能,了解它是如何工作的以及如何编写代码来更好地使用这一.Net平台提供的功能。 .Net中的内存回收机制 垃圾回收器是用来管理应用程序的内存分配和释放的。在垃圾回收器出现以前,程序员在使用内存时需要向系统申请内存空间。有些语言,例... 阅读全文
posted @ 2010-10-07 10:14 qianyz 阅读(162) 评论(0) 推荐(0) 编辑
摘要:
摘自:莫问奴归处最近由于在准备Collection对象培训的PPT,因为涉及到SyncRoot的属性的讲解,所以对怎样在多线程应用程序中同步资源访问做了个总结:对于引用类型和非线程安全的资源的同步处理,有四种相关处理:lock关键字,监视器(Monitor),同步事件和等待句柄,mutex类。 Lock关键字 本人愚钝,在以前编程中遇到lock的问题总是使用lock(this)一锁了之,出问题后翻... 阅读全文
posted @ 2010-10-07 10:12 qianyz 阅读(197) 评论(0) 推荐(0) 编辑