首页 / 软件开发 / JAVA / 使用 IBM 静态工具优化 Java 代码,第 2 部分: 分析错误报告
使用 IBM 静态工具优化 Java 代码,第 2 部分: 分析错误报告2011-05-07 IBM 丁钦浩概述BEAM 报告的结果文件是通过 build.xml 中 --beam::complaint_file 所定义的,在这 里,本文假设其为 BEAM-messages。BEAM-messages 记录着报出的所有代码缺陷,这些缺陷 分为 ERROR,MISTAKE 和 WARNING 三大类,严重程度依次递减。每一个具体的 ERROR, MISTAKE 和 WARNING 都代表着一个错误模式,本文接下来就通过实例分析理解其中的某些 重要错误模式,告诉读者在写 Java 代码时如何避免这些错误模式的发生,从而写出高质量 的代码。由于篇幅原因,本文只主要重点介绍四个常见的错误模式,并在最后简单介绍一下在编 程时还应该注意的一些其它技巧,文章结构如下:操作空对象数组访问越界除 0 错误内存泄漏其它技巧操作空对象这是报出的 ERROR2 错误模式。据个人项目经验,这种错误模式出现最为频繁,但是编 程人员却往往很难发现,因为这种编译器发现不了的错误可能在代码运行很长时间时都不会 发生,可是一旦出现,程序就会终止运行,并抛出 runtime 异常 java.lang.NullPointerException。通常有以下这些情况会导致操作空对象错误模式的发生 。调用空对象的方法访问或修改空对象的域访问或修改空数组对象的数组元素同步空对象传入空对象参数下面让我们用简单易懂的例子一一介绍它们。调用空对象的方法清单 1. 调用空 String 对象的 charAt() 方法String str = null;
int a = 0;
if( a > 0 ) {
str = new String[]{ "developer " , "Works"};
}
char ch = str.charAt(0);这是最典型的调用空对象方法的例子,调用一个未初始化的 String 对象的 chatAt() 方法。