看源码是发现一个小小的问题,com.alibaba.druid.proxy.DruidDriver这个类本意是否是想设计成单线程单例?但是构造函数却又是public
不知是我理解不到位还是代码的一点点小小瑕疵?
版本 V1.0.27
原提问者GitHub用户34benma
com.alibaba.druid.proxy.DruidDriver并不是一个单例模式。它是一个JDBC驱动程序,负责管理数据库连接池和数据库连接,它与JDBC API一起被用于连接到数据库和执行SQL查询。
在Druid中,com.alibaba.druid.proxy.DruidDriver类通常被用于创建数据库连接,而不是作为单例对象进行使用。每次需要创建数据库连接时,应用程序都会使用DriverManager类加载com.alibaba.druid.proxy.DruidDriver并创建一个新的数据库连接。
当应用程序使用DriverManager类加载com.alibaba.druid.proxy.DruidDriver时,JVM会自动创建一个DruidDriver对象。因此,com.alibaba.druid.proxy.DruidDriver类不需要被设计成单例,因为JVM会自动维护一个实例。
内部使用单例,但会有很多场景需要通过classname反射构造的,所有构造函数public。
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。