java代码优化
可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。
优化包含两方面内容:减小代码的体积,提高代码的运行效率。
1、 尽量指定类的final修饰符,带有final修饰符的类是不可派生的。如果指定一个类为final,则该类所有的方法都是final。
2、 尽量重用对象。特别是String 对象的使用中,出现字符串连接情况时应用StringBuffer
代替。系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理。
3、
尽量使用局部变量,调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。
4、 java中内嵌的SQL语句尽量使用大写的形式,以减轻ORACLE解析器的解析负担。
5、 Java 编程过程中,进行数据库连接、I/O流操作时务必小心,在使用完毕后,即使关闭以释放资源。
6、 减少对变量的重复计算
例如:for(int i = 0;i < list.size; i ++) {
…
}
应替换为:
for(int i = 0,len = list.size();i
< len; i ++) {
…
}
7、尽量采用lazy loading 的策略,即在需要的时候才开始创建。
if(i == 1) {
String str = "....";
}
7 合理使用 java.util.Vector
8、乘法和除法
用移位操作替代乘法操作可以极大地提高性能。
result = val << 3;
不做乘以8的操作,而是改用等价的左移3位操作,每左移1位相当于乘以2。右移1位操作相当于除以2。(应加上一些注释)
9 在JSP页面中关闭无用的会话
session是server端程序调用HttpServletRequest.getSession(true)时才被创建,如果JSP没有显示的使用
<%@pagesession="false"%>
关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句HttpSession session =
HttpServletRequest.getSessio
相关文档:
java中的反射经常被用在一些框架搭建上,他能够让我们很方便的对自己未来将使用的类,方法和变量进行访问。个人觉得有种黑客的味道在里面。当我们知道一个类的类名后,我们基本上可以使用反射的到它的一切。包括他的private的方法和变量等(当然访问他们的使用需要使用的是getDeclared***(**))。另外,据 ......
1)概念:
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
2)功能:
在运行时判断任意一个对象所属的类;
在运行时 ......
SAMPLE:
import java.util.Properties;
Properties props=System.getProperties(); //获得系统属性集
String osName = props.getProperty("os.name"); //操作系统名称
String osArch = props.getPropert ......
记得vamcily 曾问我:“为什么获取数组的长度用.length(成员变量的形式),而获取String的长度用.length()(成员方法的形式)?”
我当时一听,觉得问得很有道理。做同样一件事情,为什么采用两种风格迥异的风格呢?况且,Java中的数组其实是完备(full-fledged)的对象,直接暴露成员变量,可能不是一种很OO的风格。 ......