Get startedGet started for free

Implementing lazy initialization

You're working on optimizing the startup time of a Java application. The team has identified that creating database connections eagerly is causing unnecessary delays. You need to implement lazy initialization for the Database class to improve startup performance.

This exercise is part of the course

Optimizing Code in Java

View Course

Exercise instructions

  • Create a property client of type DatabaseClient.
  • Lazily connect to our database.
  • Return our database client only when connected.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

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

class Database {
	// Create a property for DatabaseClient
    ___
    
    public DatabaseClient getClient() {
    	// Lazily connect to our database
        if (___) {
        	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) {}
}
Edit and Run Code