開始使用免費開始

實作延遲初始化(Lazy Initialization)

你正在最佳化一個 Java 應用程式的啟動時間。團隊發現過早建立資料庫連線會造成不必要的延遲。你需要在 Database 類別中實作延遲初始化,也就是僅在沒有現有連線時才建立新連線,以提升啟動效能。

本練習屬於課程

Java 程式碼最佳化

檢視課程

練習說明

  • 建立一個型別為 DatabaseClient 的屬性 client
  • 以延遲方式連線到資料庫。
  • 僅在已連線時回傳我們的資料庫用戶端。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

public class Main {
    public static void main(String[] args) {}
}

class Database {
	// Create a property for DatabaseClient
    private ____ ____
    
    public DatabaseClient getClient() {
    	// Lazily connect to our database
        if (client ____ ____) {
        	client.connect("https//our-database.com");
        }
        // Return only when connected
      	return ___
    }
}

// This class is simulating a real client connecting to a database
class DatabaseClient {
    public void connect(String connectionUrl) {}
}
編輯並執行程式碼