2012年10月17日

将字符串转数字时没有捕获NumberFormatException 异常

摘要: 分析 调用 Java 方法将字符串转换为数字时,如果字符串的格式非法,会抛出运行时异常 NumberFormatException。示例 错误例子: /** * 将字符串转数字时没有捕获NumberFormatException 异常示例 * @param number * @return */ public Integer getInteger(String number) { // 若number格式非法,则会抛出NumberFormatException异常 return Integer.parseI... 阅读全文

posted @ 2012-10-17 12:12 云中雁荡山 阅读(1859) 评论(0) 推荐(0)

对list做foreach循环时,循环代码中不能修改list的结构

摘要: 分析 在 jdk1.5 版以上的 foreach 循环写法中,不能在循环代码中对正在循环的 list 的结构进行修改,即对 list做add、 remove等操作,如果做了这些操作,必须立即退出循环,否则会抛出异常。示例 代码示例待补全。 public static void main(String[] args) { List list = new ArrayList(); list.add("one"); list.add("two"); list.add("two"); list.add("two")... 阅读全文

posted @ 2012-10-17 11:58 云中雁荡山 阅读(2716) 评论(0) 推荐(0)

循环体性能

摘要: 分析 循环体是软件中最容易造成性能问题的地方,所以在进行循环体编码时务必考虑性能问题。 在循环体内重复使用且不会变化的资源(如变量、文件对象、数据库连接等),应该在循环体开始前构造并初始化,避免在循环体内重复和构造初始化造成 CPU 资源的浪费。 除非业务场景需要,避免在循环体内构造 try...catch 块,因为每次进入、退出try...catch 块都会消耗一定的 CPU资源,将 try...catch 块放在循环体之外可以节省大量的执行时间。示例 代码示例待补全。/** * 效率比较方法A */ private static void testA() ... 阅读全文

posted @ 2012-10-17 11:33 云中雁荡山 阅读(222) 评论(0) 推荐(0)

嵌套使用 try-catch,或者 try-catch 后面没有必要的 finally操作

摘要: 分析 数据库操作、IO 操作等需要使用结束 close()的对象必须在 try -catch-finally 的finally 中 close(),如果有多个 IO 对象需要 close(),需要分别对每个对象的 close()方法进行try-catch,防止一个 IO对象关闭失败其他 IO 对象都未关闭。示例 代码示例待补全。 /** * 嵌套使用 try-catch,或者 try-catch 后面没有必要的 finally操作 * * @param filePath * @param strContent * @throws FileNot... 阅读全文

posted @ 2012-10-17 11:23 云中雁荡山 阅读(1237) 评论(0) 推荐(0)

不能用“==”比较两个字符串内容相等

摘要: 分析 两个字符串在比较内容是否相等的时候,如果使用“==”,当两个字符串不是指向内存中同一地址,那么即使这两个字符串内容一样,但是用“==”比较出来的结果也是 false。所以两个字符串在比较内容是否相等的时候一定要使用“equals”方法。示例 下面就是一个字符串比较的例子public static void main(String[] args) { //声明局部变量 String str1 = new String("string"); String str2 = "string"; if(str1 == ... 阅读全文

posted @ 2012-10-17 11:11 云中雁荡山 阅读(1799) 评论(0) 推荐(0)

资源释放

摘要: 分析 在使用文件、IO 流、数据库连接等不会自动释放的资源时,应该在使用完毕后马上将其关闭。关闭资源的代码应该在try...catch...finally的 finally内执行,否则可能造成资源无法释放。示例 关闭IO 流的正确方法如下: /** * IO,数据库操作资源释放示例 * @param filePath * @param strContent * @throws FileNotFoundException */ public void writeFile(String filePath,String strContent) th... 阅读全文

posted @ 2012-10-17 10:53 云中雁荡山 阅读(229) 评论(0) 推荐(0)

导航