Derby consists of both the database engine and an embedded JDBC driver. Applications use JDBC to interact with a database.
In an embedded environment, the embedded driver is initially loaded and registered when the java.sql.DriverManager class is initialized. That typically happens on the first call to a DriverManager method such as DriverManager.getConnection, as described in Derby JDBC database connection URL. Loading the driver also starts Derby.
The Derby driver class name for the embedded environment is org.apache.derby.jdbc.EmbeddedDriver.
For detailed information about loading the Derby JDBC driver, see "java.sql.Driver interface" in the Derby Reference Manual.
If your application shuts down Derby or calls the DriverManager.deregisterDriver method, and you then want to reload the driver, call the Class.forName().newInstance() method. See Shutting down the system for more information.