Java代码优化
来源:互联网 发布:全面战争系列 知乎 编辑:程序博客网 时间:2024/06/05 06:28
1. StringBuffer代替String
如果知道字符串容量,最好刚开始 StringBuffer buffer = new StringBuffer(30);
2. 初始化的时候分配容量 Vector vect =new Vector(100);
3.优化循环体
Vector vect = new Vector(1000);for( inti=0; i<vect.size(); i++){...}
优化后 =>
int size = vect.size();for( int i=0; i>size; i++){...}for (int i = 0;i <100000;i++)if (i%10 == 9) {... // 每十次执行一次}优化后=>>>for(inti =0,j =10; i<100000; i++,j--){if(j == 0){... // 每十次执行一次j = 10;}}
4. 对象使用时再创建(new)
应该尽量重复使用一个对象,而不是声明新的同类对象。一个重用对象的方法是改变对象的值,如可以通过setValue之类的方法改变对象的变量达到重用的目的。
5.变量的注意事项
尽量使用局部变量,调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack) 中,速度较快。其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。
尽量使用静态变量,即加修饰符static,如果类中的变量不会随他的实例而变化,就可以定义为静态变量,从而使他所有的实例都共享这个变量。
6. 方法调用
不影响可读性等情况下,可以把几个小的方法合成一个大的方法。
在方法前加上final,private关键字有利于编译器的优化。
7. 慎用异常处理
异常是Java的一种错误处理机制,对程序来说是非常有用的,但是异常对性能不利。抛出异常首先要创建一个新的对象,并进行相关的处理,造成系统的开销,所以异常应该用在错误处理的情况,不应该用来控制程序流程,流程尽量用while,if等处理。
在不是很影响代码健壮性的前提下,可以把几个try/catch块合成一个。
8.同步
同步主要出现在多线程的情况,为多线程同时运行时提供对象数据安全的机制,应用多线程为了获得性能的提升,应该尽可能减少同步。
如果需要同步的地方,可以减少同步的代码段,如只同步某个方法或函数,而不是整个代码。
9.使用Java系统API
Java的API一般都做了性能的考虑,如果完成相同的功能,优先使用API而不是自己写的代码.
例如:当有大量数据的复制时,应该使用System.arraycopy()
10. I/O过程尽可能使用带有Buffer的类
11. Servlet中尽量不使用同步,不保存太多信息在HttpSession中,如有必要用户退出时清除Session(invalidate())
12. EJB
- 缓存Home接口
- 封装Entity Bean
- 释放有状态的Session Bean
13. 数据库访问
- 使用速度快的JDBC驱动
- 使用JDBC连接池
- 缓存DataSource
- 关闭所有使用的资源
- 大型数据量处理,直接使用SQL
- 缓存经常使用的数据
0 0
- java代码优化---->性能优化
- Java代码优化TIPS
- 如何优化JAVA代码
- 如何优化 JAVA 代码
- 如何优化java代码
- Java代码优化方法
- JAVA代码优化
- java代码优化
- Java代码优化策略
- java 代码优化
- java 代码优化
- java代码优化
- JAVA代码优化
- Java代码优化分析
- Java代码优化
- java代码优化编程
- java 代码优化
- java代码优化
- POJ 1386 Play on Words(有向图欧拉路径并查集判定)
- spring扫描类在指定包路径通过注解过滤
- VirtualBox的四种网络连接方式
- Fibonacci数列
- 一贴学会PHP 新手入门教程
- Java代码优化
- 一摞烙饼的排序问题--读书笔记(2)
- <Linux Shell脚本攻略>书摘
- Hive表连接
- java 登陆过滤器filter的编写及配置
- 关于continue和break的理解
- 二段构造->REF引用计数管理->PoolManager自动释放池
- 课堂里学不到的C与C++那些事(一)
- 算式基本定理