Java代码常见优化方案( 七 )

if (i == 1) {

A a = new A();

list.add(a);

finally 使用规范

在 try-catch 里 , 使用到的资源要能够被释放 , 以避免资源泄漏 , 这最好在finally块中去做 。 无论程序执行是否有异常 , finally里的代码总是会执行的 , 这样可以确保资源的正确关闭 。

StringBuffer使用规范

StringBuffer 的无参构造函数会创建一个默认16的字符数组 。 在使用过程中 , 如果数组长度超出16 , 就要重新分配内存 , 创建一个容量更大的数组 , 并将原先的数组复制过来 , 再丢弃旧的数组 。

在多数情况下 , 可以在创建 StringBuffer 的时候指定大小 , 避免了在容量不够的时候自动增长 , 以提高性能 。

StringBuffer sb= new StringBuffer(int capacity);

显式释放空间让 gc 回收对象

推荐阅读