BR 技术头条 技术链接、资讯与社区分享流
cl club.perfma.com / 2020-03-31 10:32 / by @PerfMa社区

JDK的sql设计不合理导致的驱动类初始化死锁问题

当我们一个系统既需要mysql驱动,也需要oracle驱动的时候,在并发加载初始化这些驱动类的过程中产生死锁的可能性非常大,下面是一个模拟的例子,对于Thread2的实现其实是jdk里java.sql.DriverService的逻辑,也是我们第一次调用java.sql.DriverManager.registerDriver注册一个驱动实例要走的逻辑(jdk1.6下),不过这篇文章是使用我们生产环境的一个系统的线程dump和内存dump为基础进行分析展开的。

发表评论