性能优化实现方式(单纯考虑代码层面):java
1.减少代码体积数据库
2.提升运行效率数组
如何作:安全
1.尽可能指定类.方法的final修饰符性能优化
带有final修饰的类是不可派生的,该类全部的方法都是final的,java编译器会寻找机会内联全部的final方法,有助于提升运行效率.性能
2.尽可能复用对象优化
对象的建立和维护都会花费java虚拟机的精力,特别是String对象的使用,出现的字符串链接要使用StringBuilder/StringBuffer来替代+号,所以,生成过多的对象将会给虚拟机带来没必要要的负担;ui
3.及时关闭流线程
使用I/O流对数据进行操做是会对系统形成很是大的负担,用完要及时close;指针
4.不要在循环语句中进行复杂的处理,以及一些异常处理,应该把这些提取到循环外层
例如try...catch...应该放在外层
5.循环内不要进行对象的频繁建立,除非不得已的状况下;
6.尽可能使用HashMap、ArrayList、StringBuilder,除非对线程安全有需求,不推荐使用HashTable、Vector、StringBuffer后三者由于作了同步机制对性能有较高的要求;
7.清除不须要的会话;
8.将常量声明为static final,而且用大写来命名
9.不建立一些不使用的对象,不导入一些不使用的包
10.程序运行过程当中避免使用反射,能够考虑在项目启动的时候经过反射建立对象而且加载到内存中
发射是java很是强大的一个功能,可是功能强大的同时也意味着效率不高,尤为是Method的invoke方法
11.使用数据库链接池和线程池
这样前者能够避免频繁的打开和关闭流,后者能够避免频繁的建立和销毁线程;
12.使用带缓冲的流进行I/O操做
13.public修饰的方法中形参最对不要超过3个
形参过多会致使方法的容错率下降,若是有不少方法能够用实体类包装传递;
14.在使用equals的时候把常量放在前面
这样能够避免空指针异常
15.不要对数组使用toString()方法
由于对数组使用只会打印出一串对象地址,并且有可能由于数据引用is为空而致使空指针异常,不过能够对集合使用toString()方法,由于集合的父类AbstractCollections重写了toString()方法;
16.不要对超出数据范围的基本数据类型作向下的强制类型转换,会致使精度损失
17.对基本数据类型转换为字符串最快的方式是toString(),其次是String.valueOf(数据),再次是+"" 最慢
18.对资源的关闭建议分开操做
例如
try{
stream.close();
fileInPutStream.close();
}catch(Exception e){
.....
}
建议修改成
try{stream.close}catch(Exception e){....}
try{fileInPutStream.close()}catch(Exception e){....}
第一种写法,假如stream流出了问题,抛了异常,那么fileInPutStream就没法关闭,这样代码一多,就有可能引发资源句柄泄露.
第二种写法虽然麻烦可是不管如何都会关闭,更加安全,固然也可使用finall来关闭.