1. java程序代码优化检查内容
1,无关乎界面的算法、调用、导入、导出等,不要再AWT/SWT线程中运行。
2,非用户错误时,不要弹出对话框,做内部处理,尽量屏蔽用户操作错误。
3,SWT/AWT等界面关闭时,是否将监听器等注销,保存数据,释放资源。
4,常量不可重复声明定义,系统中要集中定义。
5,定义系统中公用组件,多使用公用组件,使用公用方法。
6,浮点值不可以用==或是!=判断是否相等。
7,硬编码问题,没有扩展性。
8,因为hashTable或Vector等调用size()取得大小,要耗费大开销,不可以循环体中用,一般采用局部变量引用方式。
9,大量线程的情况下,要用线程池。
10,数据块的拷贝,一般不能放在for循环中,考虑使用数组拷贝等。
11,大量数据下,字符连接不可用“”+XXX的方式,可采用stringBufffered.append.
2. 内存泄露方式
程序用毕没有释放指向对象的引用,内存随时间的推移而增加。
对象的句柄在多个hashtable,vector中保存,删除对象不干净。
打开文件等没有用finally关闭流资源。
在循环体内调用了wait()方法?
调用了线程的resume(),stop(),suspend()等方法。
大量线程无法正常终止,线程过多,内存溢出。