java 性能准则
可以通过多种方式提高 AIX® 上的 Java™ 性能。
- 当进行过多的字符串操作以避免不必要地创建那些最终必须经历垃圾收集的对象时,可使用 StringBuffer 功能而不是字符串并置。
- 避免过度写入 Java 控制台,以降低字符串操作,文本格式化和输出的成本。
- 必要时通过使用变量的原语类型来避免对象创建和操作的花费。
- 对常用对象进行高速缓存,以减少必须的垃圾收集量,并避免了重新创建对象。
- 对本机操作进行分组,以尽可能减少 Java 本机接口 (JNI) 调用数。
- 仅当在 JVM 和操作系统中必须限制多任务时才使用同步方法。
- 除非必要避免调用垃圾回收器。 如果您必须调用它, 只有在空闲时间或一些非关键阶段再这样做。
- 尽可能使用整型而不是长整型,因为 32 位操作的执行快于 64 位操作。
- 尽可能声明方法为 final。 JVM 可较好地处理 final 方法。
- 创建常量时使用 static final 关键字,以减少需要初始化变量的次数。
- 避免不必要的 "强制类型转换" 和 "instanceof" 引用,因为在 Java 中强制类型转换是在运行时完成的。
- 当数组可以满足要求时尽可能避免使用向量。
- 将项添加到向量尾部或从向量尾部删除项。
- 避免在循环中分配对象。
- 使用缓冲区 I/O 并调整缓冲区大小。
- 使用连接池和准备缓存声明进行数据库访问。
- 使用连接池连接到数据库并重用连接而不是重复打开和关闭连接。
- 最大化和最小化线程创建和销毁周期。
- 最小化共享资源的争用。
- 最小化短生命周期对象的创建。
- 避免远程方法调用。
- 使用回调以避免阻塞远程方法调用。
- 避免创建仅用于访问方法的对象。
- 保持同步方法处于循环外。
- 在数据库中以 Unicode 形式存储字符串和字符数据。
- 对 CLASSPATH 重新排序使得最常用的库先出现。