文件名称:JDK的sql设计不合理导致的驱动类初始化死锁问题
文件大小:503KB
文件格式:PDF
更新时间:2024-02-19 14:28:39
JDK的sql设计不合理导致的驱动类初始化死锁问题
这篇文章是使用我们生产环境的一个系统的线程dump和内存dump为基础进行分析展开的。 当我们一个系统既需要mysql驱动,也需要oracle驱动的时候,在并发加载初始化这些驱动类的过程中产生死锁的可能性非常大,下面是一个模拟的例子,对于Thread2的实现其实是jdk里java.sql.DriverService的逻辑,也是我们第一次调用java.sql.DriverManager.registerDriver注册一个驱动实例要走的逻辑(jdk1.6下),不过这篇文章是使用我们生产环境的一个系统的线程dump和内存dump为基础进行分析展