Java Eclipse利用Checkstyle、Findbug和JProfiler进行代码评审与程序性能优化
【开发工具与关键技术】Eclipse Neon.3 Release (4.6.3) 、Java
【作者】郭瑞
【撰写时间】2020年9月23
1、代码评审
第一步首先,采用Checkstyle中的Google Checks标准进行代码评议,发现代码全亮,没有问题。
接下来,采用Sun Checks标准进行测试,发现代码全是不规范。可以看出sun公司的代码规范足够标准。
第二步,利用SpotBugs查找项目,结果为测试类中存在两个bug。解决变法是用Random.nextInt()代替 (int)Math.random(),来生成随机数。虽然最终bug消失,但觉得没有真正弄懂。
第三步,利用PMD进行代码审查。提示类体没有放在包中,还有类名命名第一个字母必须为大写,以满足一定的正则表达式。
在修改之后,结果显示,部分不规范被消除。
2、代码性能优化
在安装JProfiler 11.1.4版本并关联Eclipse之后,以Profile形式运行程序,可以看到内存、垃圾回收和类整体分析的情况。
也可以看到所有对象的生成情况。
同时也可以看到,程序运行过程中调用最多的函数有,调用线程sleep()之后线程处于等待状态后又重新启动的run(),还有向面板中添加按钮的add(),以及向控制台输出map二维数组的output_map()等。
那怎么改进呢?我们这里对三个方面进行改进,分别有
-
用直接更新按钮颜色的方式,取代重绘(repaint())面板并重新添加新的不同颜色的按钮的方式
-
取消向控制台输出二维数组信息。并且暂停界面时,用Thread.sleep(50)代替println(“暂停中!”)。
最终可以看到性能测试的部分结果如下,最常使用函数不再是平均执行时间为8us的add方法,而是平均执行时间为4us的setBackGround()方法。修改这几项之后,性能有所改善,但也只是一小部分改进。
希望有所帮助。