復(fù)寫傳播

復(fù)寫傳播在我看來就是將同樣的一個(gè)某些運(yùn)算的結(jié)果賦值給不同的變量
栗子:a=b+c
d=b+c
e=b+c
如果在不得不多次引用結(jié)果的條件下那么可以直接將結(jié)果賦值給需要的變量將上述代碼優(yōu)化為:
a=b+c;
d=a;
e=a;
以此來減少程序在運(yùn)行時(shí)需要做的計(jì)算量

代碼外提

減少循環(huán)中代碼總數(shù)的一個(gè)重要辦法是循環(huán)中不變的代碼段外提。這種變換把循環(huán)不變運(yùn)算,即結(jié)果獨(dú)立于循環(huán)執(zhí)行次數(shù)的表達(dá)式,提到循環(huán)的前面,使之只在循環(huán)外計(jì)算一次。

刪除死代碼

這個(gè)見名知意,就是隨手刪除掉木有用的代碼.

強(qiáng)度削弱

就是將強(qiáng)度大的運(yùn)算換算成強(qiáng)度小的運(yùn)算,比如將乘法換為加法等

歸納變量刪除

在循環(huán)中當(dāng)兩個(gè)變量的值是步伐一致的變化時(shí),可能只需要留下一個(gè)
在循環(huán)中盡量減少重復(fù)的運(yùn)算,將可以外提的運(yùn)算優(yōu)先計(jì)算出結(jié)果之后再賦值到循環(huán)中如循環(huán)遍歷一個(gè)長度為10的數(shù)組時(shí),可先將長度計(jì)算出來再進(jìn)行循環(huán)

public class Test{
	public static void main(String [] args){
	int [ ]  i  =  { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 };
	int length = i.length; //將數(shù)組長度放置再循環(huán)外,這樣就不用在每一次循環(huán)時(shí)都計(jì)算一邊長度.
	for ( int j = 0 ; j < length ; j++){
		System.out.println( i [ j ] );
	}
	}
}