Lazy-initialization implementeren
Je werkt aan het optimaliseren van de opstarttijd van een Java-applicatie. Het team heeft vastgesteld dat het vroegtijdig aanmaken van databaseverbindingen onnodige vertraging veroorzaakt. Je moet lazy initialization implementeren — dus een verbinding pas aanmaken als die er nog niet is — voor de klasse Database om de opstartprestaties te verbeteren.
Deze oefening maakt deel uit van de cursus
Code optimaliseren in Java
Oefeninstructies
- Maak een eigenschap
clientvan het typeDatabaseClient. - Maak pas verbinding met onze database wanneer dat nodig is (lazy connect).
- Geef onze databaseclient alleen terug als er verbinding is.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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) {}
}