ITPub博客

首页 > 应用开发 > IT综合 > 测试自动化脚本之内存的利用和回收

测试自动化脚本之内存的利用和回收

IT综合 作者:小梁124 时间:2014-11-24 16:37:16 0 删除 编辑

  自动化测试脚本本身是一种开发行为,内存的是否有效利用和回收是程序高质量的重要衡量指标。

  如果使用C++来开发自动化测试程序,必须要遵循编译语言的内存利用规则。


  内存使用常见错误如下:


  1.内存分配不成功,却使用它


  对策:使用前检查内存是否为NULL。


  2.内存分配成功后,没有初始化就使用它


  对策:内存分配后初始化。


  3.内存分配成功且已经初始化,但是越界


  对策:做越界检查。

  4.忘记释放内存,造成内存泄露

  对策:内存动态分配和释放必须成双配对。

  5.释放了内存却继续使用它

  对策:对象关系过于复杂,理不清楚究竟释放了没有,Return指向栈内存的指针或引用 Free或delete内存后,没有把指针置为NULL。导致野指针。


  但是,对于Java语言来说,它的一个重要优点就是通过垃圾收集器自动管理内存的回收,程序员不需要通过调用函数来释放内存,因此,很多程序员认为java不存在内存泄露问题,或者认为即使有内存泄露也不是程序的责任,而是GC或JVM的问题。

  其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。在java中,内存泄露就是存在一些被分配的对象,这些对象有下面两个特点:


  首先,这些对象是可达的,即在有向图中,存在通路可以与其相连。


  其次,这些对象是无用的,即程序以后不会再使用这些对象。


  如果对象满足这两个条件就可以判定为java中的内存泄露,这些对象不会被GC回收,但是却占用内存。文章来源:http://www.nei-mao.com/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29870867/viewspace-1344854/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-09-11

  • 博文量
    71
  • 访问量
    214129