通过copy引用到局部变量来避免NullPointException
来源:互联网 发布:可以演戏的软件 编辑:程序博客网 时间:2024/05/21 05:39
public int getNumActive() { // Copy reference to avoid NPE if close happens after null check GenericObjectPool<PoolableConnection> pool = connectionPool; if (pool != null) { return pool.getNumActive(); } return 0;}
源码来源:commons-dbcp2包中的BasicDataSource.getNumActive()。
解释:connectionPool在判空之前将引用复制给局部变量,这样即使之后另一个线程将connectionPool置为null,垃圾回收器也不会回收connectionPool引用指向的对象,因为局部变量的引用还存在,所以不会报空指针异常。在方法执行完之后,局部变量被释放,此时connectionPool指向的对象才可能会被垃圾回收器回收。
阅读全文
0 0
- 通过copy引用到局部变量来避免NullPointException
- 避免NullPointException
- 一个通过引用返回局部变量的列子
- 引用局部变量地址
- block引用局部变量
- Java局部变量的引用
- 返回局部变量的引用
- 局部变量不能返回引用
- python局部变量引用问题
- 通过 final 关键字来实现 双重检查(DCL) 时,为什么 局部变量 是必须的?
- 静态方法中不能直接引用非静态变量,需要通过对象来引用
- 返回局部变量的引用问题
- 不能返回局部变量的引用
- 内部类引用外部类局部变量
- 不能返回局部变量的引用
- 千万不能返回局部变量的引用??
- 方法可以返回局部变量的引用
- 【Mysql/sqlserver】定义和引用局部变量
- bzoj 3170: [Tjoi 2013]松鼠聚会
- DPDK学习(测试环境)
- 从头到尾彻底理解KMP算法
- AI名片识别
- 【我的javaEE学习】前端例子之图片轮播与打字机
- 通过copy引用到局部变量来避免NullPointException
- char,int,float,double所占字节数
- Composer和PHPUnit入门
- JavaScript中变量的声明和赋值
- Paging-multilevel-translate
- 学会止损的前提是分析准确
- firefox打开学校ftp中文显示乱码问题
- Hive的语法知识详解
- sql优化