Difference between singleton and eagersingleton for Gin or Guice?

guice, gwt-gin, java

Solution

From Guice's Wiki

Eager singletons reveal initialization problems sooner, and ensure end-users get a consistent, snappy experience. Lazy singletons enable a faster edit-compile-run development cycle. Use the Stage enum to specify which strategy should be used.

- Eager: "create an instance of this class when the Module is being run"

- Lazy: "create an instance of this class when it's first requested for dependency injection"

Problem

I was wondering what is the different between singleton and eagersingleton for Gin or Guice?

Original source