代码资源释放问题

简介:

看如下代码:

    public void destroy() {
        super.destroy();
        if (runner != null) {
            runner.stop();
            runner = null;
        }
        if (thread != null) {
            thread.interrupt();
            thread = null;
        }
    }

这是摘录的一段代码。应该说对资源释放时的问题做的比较到位。

  if (runner != null)语句可以有效的避免NullPointException异常的抛出

     runner.stop();可以释放运行阶段的资源。

          runner = null; 把runner对象置空,有利于资源的快速回收。


综上,此段代码既有稳健性考虑,又有适当性能提升考虑,在我们写代码时值得借鉴。






本文转自博客园zhyiwww 的博客,原文链接:http://www.blogjava.net/zhyiwww/,如需转载请自行联系原博主。

目录
相关文章
|
13天前
线程创建的三大方式
线程创建的三大方式
16 0
|
3月前
|
C++
C++多线程场景中的变量提前释放导致栈内存异常
C++多线程场景中的变量提前释放导致栈内存异常
24 0
|
9月前
在多线程中某段代码只执行一次
使用Automic包中的AtomicBoolean结合CAS来实现。当只希望需要某段代码在多线程中只执行一次的时候,此时你会发现boolean这个变量类型是多么有用。
78 0
一次性讲清楚 Handler 使用不当导致的内存泄露?
一次性讲清楚 Handler 使用不当导致的内存泄露?
一次性讲清楚 Handler 使用不当导致的内存泄露?
|
Java 调度 数据库
Java线程的生命周期与常见函数
我人生中第一次面试最让我印象深刻的问题就是线程的生命周期,因为当时校招准备的也不到位根本没背八股文,导致答的一塌糊涂。。。今天来总结一下。
113 0
|
物联网 Linux 开发者
线程被取消的时候执行清理函数|学习笔记
快速学习线程被取消的时候执行清理函数
80 0
线程被取消的时候执行清理函数|学习笔记
|
Java
Java线程未捕获异常处理 UncaughtExceptionHandler
当一个线程在执行过程中抛出了异常,并且没有进行try..catch,那么这个线程就会终止运行。
117 0
|
Java 数据库 Android开发
JVM 系列(6)吊打面试官:为什么 finalize() 方法只会执行一次?
JVM 系列(6)吊打面试官:为什么 finalize() 方法只会执行一次?
140 0
JVM 系列(6)吊打面试官:为什么 finalize() 方法只会执行一次?
线程创建的三种方式
线程创建的三种方式
线程创建的三种方式
Qt [GC9-12]:中途遇到问题解决 析构函数无法释放资源
Qt [GC9-12]:中途遇到问题解决 析构函数无法释放资源
135 0
Qt [GC9-12]:中途遇到问题解决 析构函数无法释放资源

热门文章

最新文章