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
{
private static final java.util.concurrent.CopyOnWriteArrayList<java.sql.DriverInfo> registeredDrivers;
descriptor: Ljava/util/concurrent/CopyOnWriteArrayList;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/CopyOnWriteArrayList<Ljava/sql/DriverInfo;>;
private static volatile int loginTimeout;
descriptor: I
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile java.io.PrintWriter logWriter;
descriptor: Ljava/io/PrintWriter;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile java.io.PrintStream logStream;
descriptor: Ljava/io/PrintStream;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final java.lang.Object logSync;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.sql.SQLPermission SET_LOG_PERMISSION;
descriptor: Ljava/sql/SQLPermission;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.sql.SQLPermission DEREGISTER_DRIVER_PERMISSION;
descriptor: Ljava/sql/SQLPermission;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putstatic java.sql.DriverManager.registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
1: iconst_0
putstatic java.sql.DriverManager.loginTimeout:I
2: aconst_null
putstatic java.sql.DriverManager.logWriter:Ljava/io/PrintWriter;
3: aconst_null
putstatic java.sql.DriverManager.logStream:Ljava/io/PrintStream;
4: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic java.sql.DriverManager.logSync:Ljava/lang/Object;
5: invokestatic java.sql.DriverManager.loadInitialDrivers:()V
6: ldc "JDBC DriverManager initialized"
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
7: new java.sql.SQLPermission
dup
ldc "setLog"
invokespecial java.sql.SQLPermission.<init>:(Ljava/lang/String;)V
8: putstatic java.sql.DriverManager.SET_LOG_PERMISSION:Ljava/sql/SQLPermission;
9: new java.sql.SQLPermission
dup
ldc "deregisterDriver"
invokespecial java.sql.SQLPermission.<init>:(Ljava/lang/String;)V
10: putstatic java.sql.DriverManager.DEREGISTER_DRIVER_PERMISSION:Ljava/sql/SQLPermission;
11: 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;
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=4, args_size=1
start local 0 0: 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
1: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 1
start local 1 2: getstatic java.sql.DriverManager.registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 12
StackMap locals: java.lang.String java.lang.Class top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.sql.DriverInfo
astore 2
start local 2 4: aload 2
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
aload 1
invokestatic java.sql.DriverManager.isDriverAllowed:(Ljava/sql/Driver;Ljava/lang/Class;)Z
ifeq 11
5: aload 2
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
aload 0
invokeinterface java.sql.Driver.acceptsURL:(Ljava/lang/String;)Z
ifeq 12
6: new java.lang.StringBuilder
dup
ldc "getDriver returning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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
7: aload 2
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
8: areturn
9: StackMap locals: java.lang.String java.lang.Class java.sql.DriverInfo java.util.Iterator
StackMap stack: java.sql.SQLException
pop
10: goto 12
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " skipping: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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
end local 2 12: StackMap locals: java.lang.String java.lang.Class top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
13: ldc "getDriver: no suitable driver"
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
14: 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 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 url Ljava/lang/String;
2 15 1 callerClass Ljava/lang/Class<*>;
4 12 2 aDriver Ljava/sql/DriverInfo;
Exception table:
from to target type
5 8 9 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=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic java.sql.DriverManager.registerDriver:(Ljava/sql/Driver;Ljava/sql/DriverAction;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 driver Ljava/sql/Driver;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
driver
public static synchronized void registerDriver(java.sql.Driver, java.sql.DriverAction);
descriptor: (Ljava/sql/Driver;Ljava/sql/DriverAction;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 3
1: getstatic java.sql.DriverManager.registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
new java.sql.DriverInfo
dup
aload 0
aload 1
invokespecial java.sql.DriverInfo.<init>:(Ljava/sql/Driver;Ljava/sql/DriverAction;)V
invokevirtual java.util.concurrent.CopyOnWriteArrayList.addIfAbsent:(Ljava/lang/Object;)Z
pop
2: goto 4
3: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "registerDriver: "
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
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 driver Ljava/sql/Driver;
0 6 1 da Ljava/sql/DriverAction;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
driver
da
public static synchronized void deregisterDriver(java.sql.Driver);
descriptor: (Ljava/sql/Driver;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 3: aload 1
ifnull 5
4: aload 1
getstatic java.sql.DriverManager.DEREGISTER_DRIVER_PERMISSION:Ljava/sql/SQLPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
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
6: new java.sql.DriverInfo
dup
aload 0
aconst_null
invokespecial java.sql.DriverInfo.<init>:(Ljava/sql/Driver;Ljava/sql/DriverAction;)V
astore 2
start local 2 7: getstatic java.sql.DriverManager.registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 2
invokevirtual java.util.concurrent.CopyOnWriteArrayList.contains:(Ljava/lang/Object;)Z
ifeq 15
8: aload 0
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.sql.DriverManager.isDriverAllowed:(Ljava/sql/Driver;Ljava/lang/Class;)Z
ifeq 14
9: getstatic java.sql.DriverManager.registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
getstatic java.sql.DriverManager.registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 2
invokevirtual java.util.concurrent.CopyOnWriteArrayList.indexOf:(Ljava/lang/Object;)I
invokevirtual java.util.concurrent.CopyOnWriteArrayList.get:(I)Ljava/lang/Object;
checkcast java.sql.DriverInfo
astore 3
start local 3 10: aload 3
invokevirtual java.sql.DriverInfo.action:()Ljava/sql/DriverAction;
ifnull 12
11: aload 3
invokevirtual java.sql.DriverInfo.action:()Ljava/sql/DriverAction;
invokeinterface java.sql.DriverAction.deregister:()V
12: StackMap locals: java.sql.DriverInfo java.sql.DriverInfo
StackMap stack:
getstatic java.sql.DriverManager.registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 2
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
pop
end local 3 13: goto 16
14: StackMap locals:
StackMap stack:
new java.lang.SecurityException
dup
invokespecial java.lang.SecurityException.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
ldc " couldn't find driver to unload"
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 driver Ljava/sql/Driver;
3 17 1 sec Ljava/lang/SecurityManager;
7 17 2 aDriver Ljava/sql/DriverInfo;
10 13 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=4, args_size=0
0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 0
start local 0 1: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 1
start local 1 2: getstatic java.sql.DriverManager.registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: java.util.Vector java.lang.Class top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.sql.DriverInfo
astore 2
start local 2 4: aload 2
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
aload 1
invokestatic java.sql.DriverManager.isDriverAllowed:(Ljava/sql/Driver;Ljava/lang/Class;)Z
ifeq 7
5: aload 0
aload 2
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
6: goto 8
7: StackMap locals: java.util.Vector java.lang.Class java.sql.DriverInfo java.util.Iterator
StackMap stack:
new java.lang.StringBuilder
dup
ldc " skipping: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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
end local 2 8: StackMap locals: java.util.Vector java.lang.Class top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: aload 0
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 10 0 result Ljava/util/Vector<Ljava/sql/Driver;>;
2 10 1 callerClass Ljava/lang/Class<*>;
4 8 2 aDriver Ljava/sql/DriverInfo;
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;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
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
RuntimeVisibleAnnotations:
java.lang.Deprecated()
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 boolean isDriverAllowed(java.sql.Driver, java.lang.Class<?>);
descriptor: (Ljava/sql/Driver;Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
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 0
aload 2
invokestatic java.sql.DriverManager.isDriverAllowed:(Ljava/sql/Driver;Ljava/lang/ClassLoader;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 driver Ljava/sql/Driver;
0 4 1 caller Ljava/lang/Class<*>;
3 4 2 callerCL Ljava/lang/ClassLoader;
Signature: (Ljava/sql/Driver;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
driver
caller
private static boolean isDriverAllowed(java.sql.Driver, java.lang.ClassLoader);
descriptor: (Ljava/sql/Driver;Ljava/lang/ClassLoader;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
ifnull 10
2: aconst_null
astore 3
start local 3 3: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
iconst_1
aload 1
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 3
4: goto 7
StackMap locals: java.sql.Driver java.lang.ClassLoader int java.lang.Class
StackMap stack: java.lang.Exception
5: pop
6: iconst_0
istore 2
7: StackMap locals:
StackMap stack:
aload 3
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpne 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 2
end local 3 10: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 driver Ljava/sql/Driver;
0 11 1 classLoader Ljava/lang/ClassLoader;
1 11 2 result Z
3 10 3 aClass Ljava/lang/Class<*>;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
MethodParameters:
Name Flags
driver
classLoader
private static void loadInitialDrivers();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, 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
ifnull 7
aload 0
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: StackMap locals:
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 0
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 9: new java.lang.StringBuilder
dup
ldc "number of Drivers:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.sql.DriverManager.println:(Ljava/lang/String;)V
10: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 20
StackMap locals: java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
11: aload 5
iload 3
aaload
astore 2
start local 2 12: 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
13: aload 2
iconst_1
14: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
15: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
pop
16: goto 19
StackMap locals: java.lang.String java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack: java.lang.Exception
17: astore 6
start local 6 18: new java.lang.StringBuilder
dup
ldc "DriverManager.Initialize: load failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
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 6 end local 2 19: StackMap locals: java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
20: iload 3
iload 4
if_icmplt 11
21: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 drivers Ljava/lang/String;
4 22 0 drivers Ljava/lang/String;
9 22 1 driversList [Ljava/lang/String;
12 19 2 aDriver Ljava/lang/String;
18 19 6 ex Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
12 16 17 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=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 2
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 3
start local 3 3: ldc Ljava/sql/DriverManager;
dup
astore 4
monitorenter
4: aload 3
ifnonnull 6
5: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 3
6: StackMap locals: java.lang.ClassLoader java.lang.Class
StackMap stack:
aload 4
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 4
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 0
ifnonnull 12
11: 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
12: 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
13: aconst_null
astore 4
start local 4 14: getstatic java.sql.DriverManager.registeredDrivers:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 6
goto 28
StackMap locals: java.lang.String java.util.Properties java.lang.Class java.lang.ClassLoader java.sql.SQLException top java.util.Iterator
StackMap stack:
15: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.sql.DriverInfo
astore 5
start local 5 16: aload 5
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
aload 3
invokestatic java.sql.DriverManager.isDriverAllowed:(Ljava/sql/Driver;Ljava/lang/ClassLoader;)Z
ifeq 27
17: new java.lang.StringBuilder
dup
ldc " trying "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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 5
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 7
start local 7 19: aload 7
ifnull 28
20: new java.lang.StringBuilder
dup
ldc "getConnection returning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
getfield java.sql.DriverInfo.driver:Ljava/sql/Driver;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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
21: aload 7
22: areturn
end local 7 23: StackMap locals: java.lang.String java.util.Properties java.lang.Class java.lang.ClassLoader java.sql.SQLException java.sql.DriverInfo java.util.Iterator
StackMap stack: java.sql.SQLException
astore 7
start local 7 24: aload 4
ifnonnull 28
25: aload 7
astore 4
end local 7 26: goto 28
27: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " skipping: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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
end local 5 28: StackMap locals: java.lang.String java.util.Properties java.lang.Class java.lang.ClassLoader java.sql.SQLException top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
29: aload 4
ifnull 32
30: new java.lang.StringBuilder
dup
ldc "getConnection failed: "
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
31: aload 4
athrow
32: StackMap locals: java.lang.String java.util.Properties java.lang.Class java.lang.ClassLoader java.sql.SQLException
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
33: 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 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 url Ljava/lang/String;
0 34 1 info Ljava/util/Properties;
0 34 2 caller Ljava/lang/Class<*>;
3 34 3 callerCL Ljava/lang/ClassLoader;
14 34 4 reason Ljava/sql/SQLException;
16 28 5 aDriver Ljava/sql/DriverInfo;
19 23 7 con Ljava/sql/Connection;
24 26 7 ex Ljava/sql/SQLException;
Exception table:
from to target type
4 7 8 any
8 9 8 any
17 22 23 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
}
SourceFile: "DriverManager.java"
NestMembers:
java.sql.DriverManager$1 java.sql.DriverManager$2
InnerClasses:
java.sql.DriverManager$1
java.sql.DriverManager$2