AIX环境下的Java性能调优(1)


 1、什么是Java

Java 是一种面向对象的编程语言。它以 C++ 为模型,被设计成小的、简单的、在源和二进制级别跨平台的可移植的语言,Java 程序(applets 和应用程序)可以运行于任何已经安装了 Java 虚拟机(JVM)的机器上。Java 相对其它计算机语言有显著的优势,适合于任何编程任务,Java 有以下优势:

Java 是独立于平台的:Java 最显著的一个优势就是它轻易从一台计算机系统移动到另一台的能力。对于任何Web软件至关重要的就是在许多不同系统上运行同一个程序的能力, Java 成功之处在于在源和二进制级别能够独立于平台。

Java 是面向对象的:Java 的另外一个优点在于利用面向对象的方法。这允许你创建模块化程序和可重用代码。
Java 容易学习:Java 被设计成容易使用的语言,因此它更易于写、编译、调试以及学习。
Java 是电子商务的解决方案: 由于 Java 的健壮性、使用方便、跨平台的能力和安全性特点,它已成为了提供世界范围内因特网解决方案的选择语言。

2、AIX环境下的Java版本

目前,AIX操作系统可以支持多个Java版本,可以在一个操作系统下同时安装多个Java版本,应用需要哪个版本时,可设置PATH路径到此版本所在的目录。以下是AIX可支持的Java版本信息:

Java 1.1.8
Java 1.2.2
Java 1.3.0
Java 1.3.1 32bit
Java 1.3.1 64bit
Java 1.4 32bit
Java 1.4 64bit

从性能来看,尽量使用高版本的AIX和高版本的Java,并且安装最新的操作系统和Java补丁包。当需要超过2GB的Java 堆时,需要使用64bit的Java。在AIX环境下,Java是免费使用的,可以从下列网址下载Java软件:

http://www6.software.ibm.com/dl/dka/dka-p
从下列网址下载AIX操作系统和Java的补丁包:
http://techsupport.services.ibm.com/server/fixes.

  3、Java 性能准则

在编写Java应用程序时,以下是基本的准则:
使用字符串缓冲区而不是字符串连接,当进行连续字符串操作时要避免不必要地创建那些最终必须经过垃圾回收的对象。
避免连续写入 Java 控制台以减少字符串操作、文本格式化以及输出的花费。
必要时通过使用变量的原语类型来避免对象创建和操作的花费。
经常高速缓存用过的对象以减少必须的垃圾回收数量,并且避免重复创建对象的需求。
尽可能分组本地操作以减少 Java 本地接口(JNI)的调用。
只有在必要时再使用同步方法,以此限制在 JVM 和操作系统中的多任务。
除非必要避免调用垃圾回收器。如果您必须调用它,只有在空闲时间或一些非关键阶段再这样做。
可能时使用整型而不是长整型,因为 32 位操作快于 64 位。
可能时申明方法为 final。JVM 处理 final 的方法较好。
当创建常量时为了减少变量需要初始化的次数,使用关键字 static final。
避免不必要的“casts”和“instanceof”引用,因为在 Java 中销毁操作不是在编译时而是在运行时执行的。
当数组可以满足要求时尽可能避免使用向量。
从向量末端添加和删除项以得到较高性能。
使用 -O 选项编译 Java 文件。
避免在循环中分配对象。
使用缓冲区 I/O 并调优缓冲区大小。
使用连接池和准备缓存声明进行数据库访问。
使用连接池连接到数据库并重用连接而不是重复打开和关闭连接。
最大化线程生存期并最小化线程创建和销毁循环。
最小化共享资源的争用。
最小化短生存期对象的创建。
避免远程方法调用。
使用回调以避免阻塞远程方法调用。
避免创建只用来访问一个方法的对象。
尽可能保持同步方法处于循环外。
在数据库中以 Unicode 形式存储字符串和字符数据。
记录 CLASSPATH 以便最常用的库先出现。


相关内容