提取表達式
在軟體開發過程中,程式設計師很容易有意無意讓程式碼做一些“重複勞動”,在大部分情況下,由於電腦的告訴運行,這些「重複勞動」並不會對性能構成太大的威脅,但若將系統性能發揮到***,提取這些「重複勞動」相當有意義。
來看下面的測試案例:
@Test public void test(){ long start = System.currentTimeMillis(); ArrayList list = new ArrayList(); for (int i = 0;i<100000;i++){ System.out.println(list.add(i)); } //以上是为了做准备 for (int i = 0;i<list.size();i++){ System.out.println(list.get(i)); } System.out.println(System.currentTimeMillis() - start);//5444 }
如果我們把list.size()方法提取出來,優化後的程式碼如下:
@Test public void test(){ long start = System.currentTimeMillis(); ArrayList list = new ArrayList(); for (int i = 0;i<100000;i++){ System.out.println(list.add(i)); } //以上是为了做准备 int n = list.size(); for (int i = 0;i<n;i++){ System.out.println(list.get(i)); } System.out.println(System.currentTimeMillis() - start);//3514 }
在我的機器上,前者耗時5444ms,後者耗時3514ms,相差2s左右,可見,提取重複的操作是相當有意義的。
以上是java如何提取表達式的詳細內容。更多資訊請關注PHP中文網其他相關文章!