public class java.sql.DriverManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.sql.DriverManager
super_class: java.lang.Object
{
static final java.sql.SQLPermission SET_LOG_PERMISSION;
descriptor: Ljava/sql/SQLPermission;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static java.util.Vector writeDrivers;
descriptor: Ljava/util/Vector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.Vector readDrivers;
descriptor: Ljava/util/Vector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int loginTimeout;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.io.PrintWriter logWriter;
descriptor: Ljava/io/PrintWriter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.io.PrintStream logStream;
descriptor: Ljava/io/PrintStream;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean initialized;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.Object logSync;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.sql.SQLPermission
dup
ldc "setLog"
invokespecial java.sql.SQLPermission.<init>:(Ljava/lang/String;)V
1: putstatic java.sql.DriverManager.SET_LOG_PERMISSION:Ljava/sql/SQLPermission;
2: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putstatic java.sql.DriverManager.writeDrivers:Ljava/util/Vector;
3: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putstatic java.sql.DriverManager.readDrivers:Ljava/util/Vector;
4: iconst_0
putstatic java.sql.DriverManager.loginTimeout:I
5: aconst_null
putstatic java.sql.DriverManager.logWriter:Ljava/io/PrintWriter;
6: aconst_null
putstatic java.sql.DriverManager.logStream:Ljava/io/PrintStream;
7: iconst_0
putstatic java.sql.DriverManager.initialized:Z
8: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic java.sql.DriverManager.logSync:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
public static java.io.PrintWriter getLogWriter();
descriptor: ()Ljava/io/PrintWriter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.sql.DriverManager.logWriter:Ljava/io/PrintWriter;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void setLogWriter(java.io.PrintWriter);
descriptor: (Ljava/io/PrintWriter;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
getstatic java.sql.DriverManager.SET_LOG_PERMISSION:Ljava/sql/SQLPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aconst_null
putstatic java.sql.DriverManager.logStream:Ljava/io/PrintStream;
4: aload 0
putstatic java.sql.DriverManager.logWriter:Ljava/io/PrintWriter;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 out Ljava/io/PrintWriter;
1 6 1 sec Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
out
public static java.sql.Connection getConnection(java.lang.String, java.util.Properties);
descriptor: (Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.sql.DriverManager.getConnection:(Ljava/lang/String;Ljava/util/Properties;Ljava/lang/Class;)Ljava/sql/Connection;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 url Ljava/lang/String;
0 1 1 info Ljava/util/Properties;
Exceptions:
throws java.sql.SQLException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
url
info
public static java.sql.Connection getConnection(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 3
start local 3 1: aload 1
ifnull 3
2: aload 3
ldc "user"
aload 1
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals: java.util.Properties
StackMap stack:
aload 2
ifnull 5
4: aload 3
ldc "password"
aload 2
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals:
StackMap stack:
aload 0
aload 3
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.sql.DriverManager.getConnection:(Ljava/lang/String;Ljava/util/Properties;Ljava/lang/Class;)Ljava/sql/Connection;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 url Ljava/lang/String;
0 6 1 user Ljava/lang/String;
0 6 2 password Ljava/lang/String;
1 6 3 info Ljava/util/Properties;
Exceptions:
throws java.sql.SQLException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
url
user
password
public static java.sql.Connection getConnection(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/sql/Connection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 1
start local 1 1: aload 0
aload 1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.sql.DriverManager.getConnection:(Ljava/lang/String;Ljava/util/Properties;Ljava/lang/Class;)Ljava/sql/Connection;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 url Ljava/lang/String;
1 2 1 info Ljava/util/Properties;
Exceptions:
throws java.sql.SQLException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
url
public static java.sql.Driver getDriver(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/sql/Driver;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: new java.lang.StringBuilder
dup
ldc "DriverManager.getDriver(\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
2: getstatic java.sql.DriverManager.initialized:Z
ifne 4
3: invokestatic java.sql.DriverManager.initialize:()V
4: StackMap locals: java.util.Vector
StackMap stack:
ldc Ljava/sql/DriverManager;
dup
astore 2
monitorenter
5: getstatic java.sql.DriverManager.readDrivers:Ljava/util/Vector;
astore 1
6: aload 2
monitorexit
7: goto 10
StackMap locals: java.lang.String java.util.Vector java.lang.Class
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 2
start local 2 11: iconst_0
istore 3
start local 3 12: goto 26
13: StackMap locals: java.lang.Class int
StackMap stack:
aload 1
iload 3
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.sql.DriverInfo
astore 4
start local 4 14: aload 2
aload 4
getfield java.sql.DriverInfo.driverClassName:Ljava/lang/String;
invokestatic java.sql.DriverManager.getCallerClass:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
15: aload 4
getfield java.sql.DriverInfo.driverClass:Ljava/lang/Class;
16: if_acmpeq 19
17: new java.lang.StringBuilder
dup
ldc " skipping: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
18: goto 25
19: StackMap locals: java.sql.DriverInfo
StackMap stack:
new java.lang.StringBuilder
dup
ldc " trying "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
20: aload 4
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
aload 0
invokeinterface java.sql.Driver.acceptsURL:(Ljava/lang/String;)Z
ifeq 25
21: new java.lang.StringBuilder
dup
ldc "getDriver returning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
22: aload 4
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
23: areturn
24: StackMap locals:
StackMap stack: java.sql.SQLException
pop
end local 4 25: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
26: iload 3
aload 1
invokevirtual java.util.Vector.size:()I
if_icmplt 13
end local 3 27: ldc "getDriver: no suitable driver"
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
28: new java.sql.SQLException
dup
ldc "No suitable driver"
ldc "08001"
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 url Ljava/lang/String;
1 29 1 drivers Ljava/util/Vector;
11 29 2 callerClass Ljava/lang/Class<*>;
12 27 3 i I
14 25 4 di Ljava/sql/DriverInfo;
Exception table:
from to target type
5 7 8 any
8 9 8 any
19 23 24 Class java.sql.SQLException
Exceptions:
throws java.sql.SQLException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
url
public static synchronized void registerDriver(java.sql.Driver);
descriptor: (Ljava/sql/Driver;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic java.sql.DriverManager.initialized:Z
ifne 2
1: invokestatic java.sql.DriverManager.initialize:()V
2: StackMap locals:
StackMap stack:
new java.sql.DriverInfo
dup
invokespecial java.sql.DriverInfo.<init>:()V
astore 1
start local 1 3: aload 1
aload 0
putfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
4: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
putfield java.sql.DriverInfo.driverClass:Ljava/lang/Class;
5: aload 1
aload 1
getfield java.sql.DriverInfo.driverClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putfield java.sql.DriverInfo.driverClassName:Ljava/lang/String;
6: getstatic java.sql.DriverManager.writeDrivers:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
7: new java.lang.StringBuilder
dup
ldc "registerDriver: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
8: getstatic java.sql.DriverManager.writeDrivers:Ljava/util/Vector;
invokevirtual java.util.Vector.clone:()Ljava/lang/Object;
checkcast java.util.Vector
putstatic java.sql.DriverManager.readDrivers:Ljava/util/Vector;
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 driver Ljava/sql/Driver;
3 10 1 di Ljava/sql/DriverInfo;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
driver
public static synchronized void deregisterDriver(java.sql.Driver);
descriptor: (Ljava/sql/Driver;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=1
start local 0 0: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
ldc "DriverManager.deregisterDriver: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
2: aconst_null
astore 3
start local 3 3: iconst_0
istore 2
start local 2 4: goto 9
5: StackMap locals: java.lang.Class int java.sql.DriverInfo
StackMap stack:
getstatic java.sql.DriverManager.writeDrivers:Ljava/util/Vector;
iload 2
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.sql.DriverInfo
astore 3
6: aload 3
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
aload 0
if_acmpne 8
7: goto 10
8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
getstatic java.sql.DriverManager.writeDrivers:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmplt 5
10: StackMap locals:
StackMap stack:
iload 2
getstatic java.sql.DriverManager.writeDrivers:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmplt 13
11: ldc " couldn't find driver to unload"
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
12: return
13: StackMap locals:
StackMap stack:
aload 1
aload 3
getfield java.sql.DriverInfo.driverClassName:Ljava/lang/String;
invokestatic java.sql.DriverManager.getCallerClass:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
aload 3
getfield java.sql.DriverInfo.driverClass:Ljava/lang/Class;
if_acmpeq 15
14: new java.lang.SecurityException
dup
invokespecial java.lang.SecurityException.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
getstatic java.sql.DriverManager.writeDrivers:Ljava/util/Vector;
iload 2
invokevirtual java.util.Vector.removeElementAt:(I)V
16: getstatic java.sql.DriverManager.writeDrivers:Ljava/util/Vector;
invokevirtual java.util.Vector.clone:()Ljava/lang/Object;
checkcast java.util.Vector
putstatic java.sql.DriverManager.readDrivers:Ljava/util/Vector;
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 driver Ljava/sql/Driver;
1 18 1 callerClass Ljava/lang/Class<*>;
4 18 2 i I
3 18 3 di Ljava/sql/DriverInfo;
Exceptions:
throws java.sql.SQLException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
driver
public static java.util.Enumeration<java.sql.Driver> getDrivers();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=0
0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 0
start local 0 1: aconst_null
astore 1
start local 1 2: getstatic java.sql.DriverManager.initialized:Z
ifne 4
3: invokestatic java.sql.DriverManager.initialize:()V
4: StackMap locals: java.util.Vector java.util.Vector
StackMap stack:
ldc Ljava/sql/DriverManager;
dup
astore 2
monitorenter
5: getstatic java.sql.DriverManager.readDrivers:Ljava/util/Vector;
astore 1
6: aload 2
monitorexit
7: goto 10
StackMap locals: java.util.Vector java.util.Vector java.lang.Class
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 2
start local 2 11: iconst_0
istore 3
start local 3 12: goto 19
13: StackMap locals: java.lang.Class int
StackMap stack:
aload 1
iload 3
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.sql.DriverInfo
astore 4
start local 4 14: aload 2
aload 4
getfield java.sql.DriverInfo.driverClassName:Ljava/lang/String;
invokestatic java.sql.DriverManager.getCallerClass:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
aload 4
getfield java.sql.DriverInfo.driverClass:Ljava/lang/Class;
if_acmpeq 17
15: new java.lang.StringBuilder
dup
ldc " skipping: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
16: goto 18
17: StackMap locals: java.sql.DriverInfo
StackMap stack:
aload 0
aload 4
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 4 18: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
aload 1
invokevirtual java.util.Vector.size:()I
if_icmplt 13
end local 3 20: aload 0
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 21 0 result Ljava/util/Vector<Ljava/sql/Driver;>;
2 21 1 drivers Ljava/util/Vector;
11 21 2 callerClass Ljava/lang/Class<*>;
12 20 3 i I
14 18 4 di Ljava/sql/DriverInfo;
Exception table:
from to target type
5 7 8 any
8 9 8 any
Signature: ()Ljava/util/Enumeration<Ljava/sql/Driver;>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public static void setLoginTimeout(int);
descriptor: (I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
putstatic java.sql.DriverManager.loginTimeout:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 seconds I
MethodParameters:
Name Flags
seconds
public static int getLoginTimeout();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.sql.DriverManager.loginTimeout:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static void setLogStream(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
getstatic java.sql.DriverManager.SET_LOG_PERMISSION:Ljava/sql/SQLPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
putstatic java.sql.DriverManager.logStream:Ljava/io/PrintStream;
4: aload 0
ifnull 6
5: new java.io.PrintWriter
dup
aload 0
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
putstatic java.sql.DriverManager.logWriter:Ljava/io/PrintWriter;
goto 7
6: StackMap locals:
StackMap stack:
aconst_null
putstatic java.sql.DriverManager.logWriter:Ljava/io/PrintWriter;
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 out Ljava/io/PrintStream;
1 8 1 sec Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
out
public static java.io.PrintStream getLogStream();
descriptor: ()Ljava/io/PrintStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.sql.DriverManager.logStream:Ljava/io/PrintStream;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void println(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic java.sql.DriverManager.logSync:Ljava/lang/Object;
dup
astore 1
monitorenter
1: getstatic java.sql.DriverManager.logWriter:Ljava/io/PrintWriter;
ifnull 4
2: getstatic java.sql.DriverManager.logWriter:Ljava/io/PrintWriter;
aload 0
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: getstatic java.sql.DriverManager.logWriter:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.flush:()V
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 message Ljava/lang/String;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
message
private static java.lang.Class getCallerClass(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.ClassLoader
2: astore 2
start local 2 3: aload 2
aload 1
invokestatic java.sql.DriverManager.getCallerClass:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 caller Ljava/lang/Class<*>;
0 4 1 driverClassName Ljava/lang/String;
3 4 2 callerCL Ljava/lang/ClassLoader;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/Class;
MethodParameters:
Name Flags
caller
driverClassName
private static java.lang.Class getCallerClass(java.lang.ClassLoader, java.lang.String);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
iconst_1
aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 2
2: goto 5
3: StackMap locals: java.lang.ClassLoader java.lang.String java.lang.Class
StackMap stack: java.lang.Exception
pop
4: aconst_null
astore 2
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 callerClassLoader Ljava/lang/ClassLoader;
0 6 1 driverClassName Ljava/lang/String;
1 6 2 callerC Ljava/lang/Class;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
MethodParameters:
Name Flags
callerClassLoader
driverClassName
private static void loadInitialDrivers();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=0
0: new java.sql.DriverManager$1
dup
invokespecial java.sql.DriverManager$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 1: goto 4
end local 0 StackMap locals:
StackMap stack: java.lang.Exception
2: pop
3: aconst_null
astore 0
start local 0 4: StackMap locals: java.lang.String
StackMap stack:
new java.sql.DriverManager$2
dup
invokespecial java.sql.DriverManager$2.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
5: new java.lang.StringBuilder
dup
ldc "DriverManager.initialize: jdbc.drivers = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
6: aload 0
ifnonnull 24
7: return
8: StackMap locals:
StackMap stack:
aload 0
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 9: iload 1
ifge 13
10: aload 0
astore 2
start local 2 11: ldc ""
astore 0
12: goto 15
end local 2 13: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
start local 2 14: aload 0
iload 1
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 0
15: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokevirtual java.lang.String.length:()I
ifne 17
16: goto 24
17: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "DriverManager.Initialize: loading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
18: aload 2
iconst_1
19: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
20: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
pop
21: goto 24
StackMap locals:
StackMap stack: java.lang.Exception
22: astore 3
start local 3 23: new java.lang.StringBuilder
dup
ldc "DriverManager.Initialize: load failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
end local 3 end local 2 end local 1 24: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
ifne 8
25: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 drivers Ljava/lang/String;
4 26 0 drivers Ljava/lang/String;
9 24 1 x I
11 13 2 driver Ljava/lang/String;
14 24 2 driver Ljava/lang/String;
23 24 3 ex Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
17 21 22 Class java.lang.Exception
private static java.sql.Connection getConnection(java.lang.String, java.util.Properties, java.lang.Class<?>);
descriptor: (Ljava/lang/String;Ljava/util/Properties;Ljava/lang/Class;)Ljava/sql/Connection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
ifnull 2
aload 2
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
goto 3
StackMap locals: java.util.Vector
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.ClassLoader
3: astore 4
start local 4 4: ldc Ljava/sql/DriverManager;
dup
astore 5
monitorenter
5: aload 4
ifnonnull 7
6: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 4
7: StackMap locals: java.lang.ClassLoader java.lang.Class
StackMap stack:
aload 5
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 5
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 0
ifnonnull 13
12: new java.sql.SQLException
dup
ldc "The url cannot be null"
ldc "08001"
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "DriverManager.getConnection(\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
14: getstatic java.sql.DriverManager.initialized:Z
ifne 16
15: invokestatic java.sql.DriverManager.initialize:()V
16: StackMap locals:
StackMap stack:
ldc Ljava/sql/DriverManager;
dup
astore 5
monitorenter
17: getstatic java.sql.DriverManager.readDrivers:Ljava/util/Vector;
astore 3
18: aload 5
monitorexit
19: goto 22
StackMap locals: java.lang.String java.util.Properties java.lang.Class java.util.Vector java.lang.ClassLoader java.lang.Class
StackMap stack: java.lang.Throwable
20: aload 5
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 23: iconst_0
istore 6
start local 6 24: goto 39
25: StackMap locals: java.sql.SQLException int
StackMap stack:
aload 3
iload 6
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.sql.DriverInfo
astore 7
start local 7 26: aload 4
aload 7
getfield java.sql.DriverInfo.driverClassName:Ljava/lang/String;
invokestatic java.sql.DriverManager.getCallerClass:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class;
aload 7
getfield java.sql.DriverInfo.driverClass:Ljava/lang/Class;
if_acmpeq 29
27: new java.lang.StringBuilder
dup
ldc " skipping: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
28: goto 38
29: StackMap locals: java.sql.DriverInfo
StackMap stack:
new java.lang.StringBuilder
dup
ldc " trying "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
30: aload 7
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
aload 0
aload 1
invokeinterface java.sql.Driver.connect:(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;
astore 8
start local 8 31: aload 8
ifnull 38
32: new java.lang.StringBuilder
dup
ldc "getConnection returning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
33: aload 8
34: areturn
end local 8 35: StackMap locals:
StackMap stack: java.sql.SQLException
astore 8
start local 8 36: aload 5
ifnonnull 38
37: aload 8
astore 5
end local 8 end local 7 38: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
39: iload 6
aload 3
invokevirtual java.util.Vector.size:()I
if_icmplt 25
end local 6 40: aload 5
ifnull 43
41: new java.lang.StringBuilder
dup
ldc "getConnection failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
42: aload 5
athrow
43: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "getConnection: no suitable driver found for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
44: new java.sql.SQLException
dup
new java.lang.StringBuilder
dup
ldc "No suitable driver found for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "08001"
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 url Ljava/lang/String;
0 45 1 info Ljava/util/Properties;
0 45 2 caller Ljava/lang/Class<*>;
1 45 3 drivers Ljava/util/Vector;
4 45 4 callerCL Ljava/lang/ClassLoader;
23 45 5 reason Ljava/sql/SQLException;
24 40 6 i I
26 38 7 di Ljava/sql/DriverInfo;
31 35 8 result Ljava/sql/Connection;
36 38 8 ex Ljava/sql/SQLException;
Exception table:
from to target type
5 8 9 any
9 10 9 any
17 19 20 any
20 21 20 any
29 34 35 Class java.sql.SQLException
Exceptions:
throws java.sql.SQLException
Signature: (Ljava/lang/String;Ljava/util/Properties;Ljava/lang/Class<*>;)Ljava/sql/Connection;
MethodParameters:
Name Flags
url
info
caller
static void initialize();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.sql.DriverManager.initialized:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
iconst_1
putstatic java.sql.DriverManager.initialized:Z
3: invokestatic java.sql.DriverManager.loadInitialDrivers:()V
4: ldc "JDBC DriverManager initialized"
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
5: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/sql/DriverManager;
}
SourceFile: "DriverManager.java"
NestMembers:
java.sql.DriverManager$1 java.sql.DriverManager$2
InnerClasses:
java.sql.DriverManager$1
java.sql.DriverManager$2