shared

如果考虑内存使用的问题,大家可能不得不从Windows内存管理机制想起,那样会是个比较复杂的问题,但你可以参考DOS内存分配机制的原理来理解问题,虽然Windows已经完全改变了内存分配的机制,但原理仍然是可以套用的. 一 个Shared的代码(方法或是属性)是在你定义类时被加载的(或说进行内存分配的),这也是你不需要实例化类就可以调用的原因,而非Shared的属性或方法在你声明一个变量时仅仅分配了一个变量指针而非类对象实体,只在你New时才被分配真正的内存单元,这就是内存使用上的区别了,再涉及深一点,Shared更象占用一个应用的Data   Segment,而非Shared的使用的是Stack   Segment内存,这其中单元线程和单线程模型又是有所区别的.对于创建类的实例来说,Shared的代码并不会加载在每个实例的内存空间中,而是在一个全局的类空间中,所有实例调用的都应该是同一个代码段而不是每个实例中独立的代码段(哪怕那些代码完全相同),这也使得Shared的方法只可以访问Shared的属性,而不能访问非Shared的属性,因为只有他们才属于同一个内存空间中. 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值