zoukankan      html  css  js  c++  java
  • 异常的开销

    //z 2012-3-29 0:01:36 IS2120@CSDN
    异常的开销:
    1. static cost
    :managed exceptions相对代价较低(与c++相比)。
    static cost所发生的地方:
    1.1.try/finally/catch/throw这些代码构件实际所在的位置;
    1.2. unmanaged code中一旦有了这些构件(使用异常),代码要做大量隐式的工作(比如记录下所有对象,以在异常发生时进行析构),有大量隐式清理工作需要去做。即便异常不发生,代码实际也要承受这些工作(记录以用以清理)
    //z 2012-3-29 0:01:36 IS2120@CSDN
    2. managed world
    在托管的世界里,就没有这些广泛的显著的确定的对象的析构。这意味着异常的static cost会低一些。创建一个新的object并不会强制更新exception的状态。这样异常的代价就只限于使用异常本身,而不用为处理清理工作做大量的薄记了。

    3. 当实际抛出一个异常的时候,代价叫非托管代码高一些。他们使用了同样的机制,托管代码是在非托管的基础上实现的。
    在托管代码中,对于异常实现了更多的特性:比如说可以显示完整的调用堆栈。
    这些新特性将带来空间和时间的开销;同时他们带来的调试和更正异常的便利性;即便如此,也得注意抛出一个异常代价不便宜。
    //z 2012-3-29 0:01:36 IS2120@CSDN
  • 相关阅读:
    java中判断字符是否为英文字母、中文汉字或者数字
    JavaScript:多种定义数组的方式
    java位移运算符<<、>>、>>>
    安卓进阶:元注解Support Annotation Library使用详解
    正则:匹配引号内的字符串内容
    安卓:自定义字体
    安卓:Activity的自定义主题
    Pyhton学习——Day38
    测试用html
    Pyhton学习——Day37
  • 原文地址:https://www.cnblogs.com/IS2120/p/6745920.html
Copyright © 2011-2022 走看看