Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Maak een eigenschap client van het type DatabaseClient.
  • 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) {}
}
Code bewerken en uitvoeren