当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: Java性能的优化(上) 黄伟峰 Java在九十年代中期出现以后,在赢得赞叹的同时,也引来了一些批评。
 

 

 ·collection接口分析    »显示摘要«
    摘要: java中定义了很多集合类(也叫聚集或者容器),collection是所有集合类的父接口.collection接口定义了15方法,没有任何常量定义,这里简要说明这些方法1.size()获得集合中元素的个数,如果个数大于integer.max_value,返回integer.max_value.2.isempty()如果不含任何元素,返回true3.contains(object o)如果包含指定......
    摘要: 1.form表单中的中文问题,解决方法是将charset设为iso8859_1 2.<bean:message key=”***”/>中中文显示问题,解决方法是用native2ascii.exe将resources_zh.properties文件转换为ascii码。(native2ascii在java sdk/bin目录下) 3.解决上述问题后,jsp运行......


(代码级)Java性能的优化
java性能的优化(上)

黄伟峰 【程序编程相关:Win2000下Tomcat4.1.12

【推荐阅读:Windows 2000 server下

【扩展信息:安装配置篇Apache+Tomcat

java在九十年代中期出现以后,在赢得赞叹的同时,也引来了一些批评.赢得的赞叹主要是java的跨平台的操作性,即所谓的”write once,run anywhere”.但由于java的性能与运行效率同c相比,仍然有很大的差距,从而引来了很多的批评.

对于服务器端的应用程序,由于不大涉及到界面设计与程序的频繁重启,java的性能问题看似不大明显,从而一些java的技术,如jsp,se rvlet,ejb等在服务器端编程方面得到了很大的应用,但实际上,java的性能问题在服务器端依然存在.下面我将分四个方面来讨论java的性能与执行效率以及提高j ava性能的一些方法.

一.关于性能的基本知识

1.性能的定义

在我们讨论怎样提高java的性能之前,我们需要明白“性能“的真正含义.我们一般定义如下五个方面作为评判性能的标准.

1) 运算的性能----哪一个算法的执行性能最好

2) 内存的分配----程序需要分配多少内存,运行时的效率与性能最高.

3) 启动的时间----程序启动需要多少时间.

4) 程序的可伸缩性-----程序在用户负载过重的情况下的表现.

5) 性能的认识------用户怎样才能认识到程序的性能.

对于不同的应用程序,对性能的要求也不同.例如,大部分的应用程序在启动时需要较长的时间,从而对启动时间的要求有所降低;服务器端的应用程序通常都分配有较大的内存空间,所以对内存的要求也有所降低.但是,这并不是所这两方面的性能可以被忽略.其次,算法的性能对于那些把商务逻辑运用到事务性操作的应用程序来讲非常重要.总的来讲,对应用程序的要求将决定对各个性能的优先级.

2.怎样才能提高java的性能

提高java的性能,一般考虑如下的四个主要方面:

(1) java/j2me/code/ target=_blank>程序设计的方法与模式

一个良好的设计能提高程序的性能,这一点不仅适用于java,也适用也任何的编程语言.因为它充分利用了各种资源,如内存,cpu,高速缓存,对象缓冲池及多线程,从而设计出高性能与可伸缩性强的系统.

当然,为了提高程序的性能而改变原来的设计是比较困难的,但是,程序性能的重要性常常要高于设计上带来的变化.因此,在编程开始之前就应该有一个好的设计模型与方法.

(2) java布署的环境.

java布署的环境就是指用来解释与执行java字节码的技术,一般有如下五种.即解释指令技术(interpreter technology),及时编译的技术(just in time compilier technology), 适应性优化技术(adaptive optimization technology), 动态优化,提前编译为机器码的技术(dynamic optimization,ahead of time technology)与编译为机器码的技术(translator technology).

这些技术一般都通过优化线程模型,调整堆与栈的大小来优化java的性能.在考虑提高java的性能时,首先要找到影响java性能的瓶颈(b ottlenecks),在确认了设计的合理性后,应该调整java布署的环境,通过改变一些参数来提高java应用程序的性能.具体内容见第二节.

(3) java应用程序的实现

当讨论应用程序的性能问题时,大多数的程序员都会考虑程序的代码,这当然是对的,当更重要的是要找到影响程序性能的瓶颈代码.
...   下一页
 ·连接数据池    »显示摘要«
    摘要: 类中 public class interfacefactory { outbounddbconnection outbounddbconnection = null; public outbounddbconnection getoutbounddbconnection() throws instantiationexception, illegalaccessexception, cl......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE