The default configuration for Derby is to boot (or start) a database when an application first makes a connection to it. When Derby boots a database, it checks to see if recovery needs to be run on the database, so in some unusual cases booting can take some time.
You can also configure your system to automatically boot all databases in the system when it starts up; see derby.system.bootAll in the Tuning Derby manual. Because of the time needed to boot a database, the number of databases in the system directory affects startup performance if you use that configuration.
Once a database has been booted within a Derby system, it remains active until the Derby system has been shut down or until you shut down the database individually.
When Derby boots a database, it prints a message in the error log:
2005-06-10 03:54:06.196 GMT: Booting Derby version Apache Derby - 10.0.0.1 - (29612): instance c013800d-00fd-0cb0-e736-ffffd1025a25 on database directory sample
The number of databases running in a Derby system is limited only by the amount of memory available in the JVM.