5.22学习笔记

CLR对象代与异常处理
本文介绍了.NET运行时中对象的代概念及其垃圾回收机制,包括不同代内存的分配与回收过程,以及对象如何在各代间晋升。此外,还探讨了静态成员的作用域、生命周期及异常处理机制。

//补充接口  接口与类是一个平行的关系
    //表示一般类不实现与接口,接口也不继承类


    /*
     * 值类型与引用类型
     *  ->快捷方式与文件的关系
     *  ->对象在内存中做了什么?
     *
     */
=========================================================    
每次进行垃圾回收,前一代如果不使用了,就会被清掉
如果,前一代中,某些对象荏苒在使用中,就将其晋升为下一代    

如何自动的释放?
    ->.Net中对象有代的概念,每一个代有内存范围
    ->.Net中代有0、1、2三个等级
    ->2代的内存最大
    ->每次创建的对象默认为0代,当对象到达0代满了的时候,会自动回收第0代
    ->"回收"实际上就是将需要继续使用的对象统一移动到另外一段连续的内存中
    ->所有的地址指向都会发生变化(这个移动有事"压缩")
    
    ->如此操作,当第1代满的时候,就会调用回收第1代,并将需要使用的对象放在第2代
    ->如此操作,第二代慢的时候,就会抛出一个异常
    
    
==========================================================
静态成员作用于整个应用程序

静态成员属于整个类型
实例成员属于某个对象

static 与 abstract级别相同
与public和internal没有关系

静态类的生命周期从第一次使用到程序结束,少用,会导致内存溢出
    
    不允许被继承abstract
    不允许被派生sealed
    
静态构造方法
    ->只允许有static修饰,没有public等修饰
    ->不允许带参数
    ->.cctor
============================================
关于异常

try
{
    //可能出现异常的代码
    //打开数据库,操作数据等
    //一旦出现异常,就从异常处停下来,跳到catch中,try中其后的代码就不执行了
}    
catch
{
    //一旦出现一成,就执行这里的代码
    //处理代码
    //记录日志等
}
finally
{
    //释放资源
}

异常向上抛,如果上面(调用者)没有catch()这个异常,就再次向上抛

转载于:https://www.cnblogs.com/wiewookahn/archive/2012/05/27/2520349.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值