實作延遲初始化(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) {}
}