?? 說明.java
字號:
D.2.1 安插自己的測試代碼
插入下述“顯式”計(jì)時(shí)代碼,對程序進(jìn)行評測:
long start = System.currentTimeMillis();
// 要計(jì)時(shí)的運(yùn)算代碼放在這兒
long time = System.currentTimeMillis() - start;
利用System.out.println(),讓一種不常用到的方法將累積時(shí)間打印到控制臺窗口。由于一旦出錯,編譯器會將其忽略,所以可用一個(gè)“靜態(tài)最終布爾值”(Static final boolean)打開或關(guān)閉計(jì)時(shí),使代碼能放心留在最終發(fā)行的程序里,這樣任何時(shí)候都可以拿來應(yīng)急。盡管還可以選用更復(fù)雜的評測手段,但若僅僅為了量度一個(gè)特定任務(wù)的執(zhí)行時(shí)間,這無疑是最簡便的方法。
System.currentTimeMillis()返回的時(shí)間以千分之一秒(1毫秒)為單位。然而,有些系統(tǒng)的時(shí)間精度低于1毫秒(如Windows PC),所以需要重復(fù)n次,再將總時(shí)間除以n,獲得準(zhǔn)確的時(shí)間。
D.2.3 特殊工具
如果想隨時(shí)跟上性能優(yōu)化工具的潮流,最好的方法就是作一些Web站點(diǎn)的常客。比如由Jonathan Hardwick制作的“Tools for Optimizing Java”(Java優(yōu)化工具)網(wǎng)站:
http://www.cs.cmu.edu/~jch/java/tools.html
運(yùn)算 示例 標(biāo)準(zhǔn)時(shí)間
本地賦值 i=n; 1.0
實(shí)例賦值 this.i=n; 1.2
int增值 i++; 1.5
byte增值 b++; 2.0
short增值 s++; 2.0
float增值 f++; 2.0
double增值 d++; 2.0
空循環(huán) while(true) n++; 2.0
三元表達(dá)式 (x<0) ?-x : x 2.2
算術(shù)調(diào)用 Math.abs(x); 2.5
數(shù)組賦值 a[0] = n; 2.7
long增值 l++; 3.5
方法調(diào)用 funct(); 5.9
throw或catch異常 try{ throw e; }或catch(e){} 320
同步方法調(diào)用 synchMehod(); 570
新建對象 new Object(); 980
新建數(shù)組 new int[10]; 3100
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -