欢迎来到天天文库
浏览记录
ID:37865639
大小:24.80 KB
页数:5页
时间:2019-06-01
《AIX下JAVA性能调优》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、浅谈AIX环境下的Java性能调优本文介绍了什么是Java,AIX下的Java版本,Java的性能准则,AIX提供的监视Java的工具,以及如何在AIX用户环境下进行Java应用程序性能调优。1、什么是JavaJava是一种面向对象的编程语言。它以C++为模型,被设计成小的、简单的、在源和二进制级别跨平台的可移植的语言,Java程序(applets和应用程序)可以运行于任何已经安装了Java虚拟机(JVM)的机器上。Java相对其它计算机语言有显著的优势,适合于任何编程任务,Java有以下优势:Java是独立于平台的:Java最显著的一个优势就是它轻易从一台计算机系
2、统移动到另一台的能力。对于任何Web软件至关重要的就是在许多不同系统上运行同一个程序的能力,Java成功之处在于在源和二进制级别能够独立于平台。Java是面向对象的:Java的另外一个优点在于利用面向对象的方法。这允许你创建模块化程序和可重用代码。Java容易学习:Java被设计成容易使用的语言,因此它更易于写、编译、调试以及学习。Java是电子商务的解决方案:由于Java的健壮性、使用方便、跨平台的能力和安全性特点,它已成为了提供世界范围内因特网解决方案的选择语言。2、AIX环境下的Java版本目前,AIX操作系统可以支持多个Java版本,可以在一个操作系统下同时
3、安装多个Java版本,应用需要哪个版本时,可设置PATH路径到此版本所在的目录。以下是AIX可支持的Java版本信息:Java1.1.8Java1.2.2Java1.3.0Java1.3.132bitJava1.3.164bitJava1.432bitJava1.464bit从性能来看,尽量使用高版本的AIX和高版本的Java,并且安装最新的操作系统和Java补丁包。当需要超过2GB的Java堆时,需要使用64bit的Java。在AIX环境下,Java是免费使用的,可以从下列网址下载Java软件:http://www6.software.ibm.com/dl/dka
4、/dka-p从下列网址下载AIX操作系统和Java的补丁包:http://techsupport.services.ibm.com/server/fixes.3、Java性能准则在编写Java应用程序时,以下是基本的准则:使用字符串缓冲区而不是字符串连接,当进行连续字符串操作时要避免不必要地创建那些最终必须经过垃圾回收的对象。避免连续写入Java控制台以减少字符串操作、文本格式化以及输出的花费。必要时通过使用变量的原语类型来避免对象创建和操作的花费。经常高速缓存用过的对象以减少必须的垃圾回收数量,并且避免重复创建对象的需求。尽可能分组本地操作以减少Java本地接口(
5、JNI)的调用。只有在必要时再使用同步方法,以此限制在JVM和操作系统中的多任务。除非必要避免调用垃圾回收器。如果您必须调用它,只有在空闲时间或一些非关键阶段再这样做。可能时使用整型而不是长整型,因为32位操作快于64位。可能时申明方法为final。JVM处理final的方法较好。当创建常量时为了减少变量需要初始化的次数,使用关键字staticfinal。避免不必要的“casts”和“instanceof”引用,因为在Java中销毁操作不是在编译时而是在运行时执行的。当数组可以满足要求时尽可能避免使用向量。从向量末端添加和删除项以得到较高性能。使用-O选项编译Jav
6、a文件。避免在循环中分配对象。使用缓冲区I/O并调优缓冲区大小。使用连接池和准备缓存声明进行数据库访问。使用连接池连接到数据库并重用连接而不是重复打开和关闭连接。最大化线程生存期并最小化线程创建和销毁循环。最小化共享资源的争用。最小化短生存期对象的创建。避免远程方法调用。使用回调以避免阻塞远程方法调用。避免创建只用来访问一个方法的对象。尽可能保持同步方法处于循环外。在数据库中以Unicode形式存储字符串和字符数据。记录CLASSPATH以便最常用的库先出现。4、监视Java在AIX操作系统中有许多工具可以用来监视Java应用程序的性能,以下是简单的概述。vmsta
7、t这条命令提供了各种系统资源的信息。它报告了运行队列以及等待队列中内核线程的统计信息、内存使用、页面调度空间、磁盘I/O、中断、系统调用、上下文切换以及CPU活动。iostat这条命令报告了详细的磁盘I/O信息。topas这条命令报告了CPU、网络、磁盘I/O、工作负载管理器和进程活动。tprof-k-s-e-x"sleep10"这条命令可被用来剖析应用程序以查明任何可能影响性能的活动程序/方法。ps-mo线程这条命令显示了一个进程或线程绑定于哪一个CPU。java-verbose:gc这个选项可被用来检查垃圾回收对您的应用程序的冲击。它报告了垃圾回收所花的总共
此文档下载收益归作者所有