当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: Java语言特别强调准确性,但可靠的行为要以性能作为代价。
 

 

 ·定义类的结构    »显示摘要«
    摘要: :类的基本概念   java程序的基本单位是类,类是对象的实例,或者说对象是类定义的的数据类型的变量。你建立类之后,就可用它来建立许多你需要的对象。java把每一个可执行的成分都变成类。   类的定义形式如下:   class classname extends superclassname   {     .....   }   这 里,classname和su......
 ·编译器-javac    »显示摘要«
    摘要: javac编译器   javac编译器读取java源代码,并将其编译成字节代码,调用javac的命令行如下:   c:\>javac options filename.java   值得注意的是,和java解释器不同,javac 编译器期望它正在编译的文件具有扩展名.java。其命令行如下表 -classpath path 此选项用于设定路径,在该路径上javac寻找需被......


java性能讨论
java语言特别强调准确性,但可靠的行为要以性能作为代价.这一特点反映在自动收集垃圾.严格的运行期检查.完整的字节码检查以及保守的运行期同步等等方面.对一个解释型的虚拟机来说,由于目前有大量平台可供挑选,所以进一步阻碍了性能的发挥. “先做完它,再逐步完善.幸好需要改进的地方通常不会太多.”(steve mcconnell的«about performance»[16]) 本附录的宗旨就是指导大家寻找与优化“需要完善的那一部分”. d.1 基本方法 只有正确与完整地检测了程序后,再可着手解决性能方面的问题: (1) 在现实环境中检测程序的性能.若符合要求,则目标达到.若不符合,则转到下一步. (2) 寻找最致命的性能瓶颈.这也许要求一定的技巧,但所有努力都不会白费.如简单地猜测瓶颈所在,并试图进行优化,那么可能是白花时间. (3) 运用本附录介绍的提速技术,然后返回步骤1. 为使努力不至白费,瓶颈的定位是至关重要的一环.donald knuth[9]曾改进过一个程序,那个程序把50%的时间都花在约4%的代码量上.在仅一个工作小时里,他修改了几行代码,使程序的执行速度倍增.此时,若将时间继续投入到剩余代码的修改上,那么只会得不偿失.knuth在编程界有一句名言:“过早的优化是一切麻烦的根源”(premature optimization is the root of all evil).最明智的做法是抑制过早优化的冲动,因为那样做可能遗漏多种有用的编程技术,造成代码更难理解与操控,并需更大的精力进行维护. d.2 寻找瓶颈 为找出最影响程序性能的瓶颈,可采取下述几种方法: d.2.1 安插自己的测试代码 插入下述“显式”计时代码,对程序进行评测: long start = system.currenttimemillis(); // 要计时的运算代码放在这儿 long time = system.currenttimemillis() - start; 利用system.out.println(),让一种不常用到的方法将累积时间打印到控制台窗口.由于一旦出错,编译器会将其忽略,所以可用一个“静态最终布尔值”(static final boolean)打开或关闭计时,使代码能放心留在最终发行的程序里,这样任何时候都可以拿来应急.尽管还可以选用更复杂的评测手段,但若仅仅为了量度一个特定任务的执行时间,这无疑是最简便的方法. system.currenttimemillis()返回的时间以千分之一秒(1毫秒)为单位.然而,有些系统的时间精度低于1毫秒(如windows pc),所以需要重复n次,再将总时间除以n,获得准确的时间. d.2.2 jdk性能评测[2] jdk配套提供了一个内建的评测程序,能跟踪花在每个例程上的时间,并将评测结果写入一个文件.不幸的是,jdk评测器并不稳定.它在jdk 1.1.1中能正常工作,但在后续版本中却非常不稳定. 为运行评测程序,请在调用java解释器的未优化版本时加上-prof选项.
...   下一页
 ·构造方法的初始化顺序    »显示摘要«
    摘要: 翻译:cherami email:cherami@163.net 原文: http://java.sun.com/jdc/techtips/2000/tt1205.html 想像一下你正在用java写程序,并且用下面的代码初始化类 a 和 b 的对象: class a { int a = f(); int f() { retu......
» 本期热门文章:

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