熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java程序性能優化-代理模式(2)

2013-11-23 20:01:41  來源: Java高級技術 

    代理模式(

  代理模式的實現和使用

  基於以上設計IDBQuery的實現如下它只有一個request()方法

  public interface IDBQuery {

  String request()

  }

  圖  代理模式的一種實現

  DBQuery實現如下它是一個重量級對象構造會比較慢

  public class DBQuery implements IDBQuery{

  public DBQuery(){

  try {

  Threadsleep(             //可能包含數據庫連接等耗時操作

  } catch (InterruptedException e) {

  eprintStackTrace()

  }

  }

  @Override

  public String request() {

  return request string;

  }

  }

  代理類DBQueryProxy是輕量級對象創建很快用於替代DBQuery的位置

  public class DBQueryProxy implements IDBQuery {

  private DBQuery real=null;

  @Override

  public String request() {

  //在真正需要的時候才創建真實對象創建過程可能很慢

  if(real==null)

  real=new DBQuery()

  //在多線程環境下這裡返回一個虛假類類似於Future模式

  return realrequest()

  }

  }

  最後主函數如下它引用IDBQuery接口並使用代理類工作

  public class Main {

  public static void main(String args[]){

  IDBQuery q=new DBQueryProxy()      //使用代理

  qrequest()                        //在真正使用時才創建真實對象

  }

  }

  注意將代理模式用於實現延遲加載可以有效地提升系統的啟動速度對改善用戶體驗有很大的幫助

       返回目錄Java程序性能優化讓你的Java程序更快更穩定

  編輯推薦

       Java程序設計培訓視頻教程

       JEE高級框架實戰培訓視頻教程

       JME移動開發實戰教學視頻

  Visual C++音頻/視頻技術開發與實戰

  Oracle索引技術

  ORACLEG數據庫開發優化指南


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27833.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.