When a Driver class file is loaded by the ClassLoader, it is required to register itself with the DriverManager (using a static initialisation block)
This code block is ony called once, so it is OK to call Class.forName() multiple times without too much concern.
When the DriverManager is given a JDBC URL, it asks each of the Drivers that it knows whether they are able to accept a URL in that format. If the Driver says yes then the DriverManager asks it to create a connection which is then returned to the calling code.
register means it must cal DriverManager.registerDriver() to tell the DriverManager that this Driver is available.
static initialisation is a section in a class that looks like this which gets executed once when the Class is loaded:
If you cause the class to be loaded then the message will be displayed: