2019独角兽企业重金招聘Python工程师标准>>>

需求描述:通过导入jdbc的驱动包,配置数据库的JDBC连接参数。来动态连接关系型数据库。要求不用重启JVM进程。

解决思路:首先我知道classloader是用来做类加载的。所以就看classloader的文档。了解到可以使用URLClassLoader来动态的加载jar包。然后是Class.forName生成Driver对象注册到DriverManager里面去。

bug1:DriverManager死活注册不了驱动

bug2:  报PermSize错误。

bug1: 国内的写技术文章的有没有公德心啊,没测试的代码你向网上贴毛啊。而且都是相互抄。最后终于在google 的一个夹角里面发现了一个文章,这是JDK的问题。解决方法需要一个driver的代理类。

DriverManager.registerDriver(new DriverProxy(driver));

DriverProxy是Driver的代理对象。实现Driver接口。

bug2: PermSize ;才开始的解决思路是设置PermSize的大小  不起作用。后来判断是DriverManager注册驱动的时候,同一个驱动多次注册造成PermSize的泄露,也就是驱动对象放在常量池里面。然后就加了一个判断。这里要说下。DriverManager原本自带了几个驱动,就因为这几个驱动,没怎么仔细看,结果判断错误浪费一上午时间。我本机没环境,包丢过去测试的。

教训:少用百度,仔细看日志。

转载于:https://my.oschina.net/1987times/blog/199034

JDBC驱动的动态加载相关推荐

  1. WinCE驱动的动态加载

    //===================================================================== //TITLE: //    WinCE驱动的动态加载 ...

  2. Windows CE下流驱动的动态加载

    Windows CE下流驱动的动态加载 闲话少说,进入正题.查找EVC的帮助,发现函数ActivateDevice()可用来加载驱动程序.而这个函数的使用是相当简单的.我就不多说了,贴上一段帮助最能说 ...

  3. Window CE 6.0流驱动开发动态加载实验

    amily:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Rom ...

  4. java无法加载jdbc驱动_java – 无法加载JDBC驱动程序.为什么? (春,休眠)

    我在两周前通过Maven创建了一个程序(SPRING HIBERNATE),现在它在加载JDBC驱动程序时遇到了问题(直到现在才发生).所以,我的pom.xml文件如下所示: xsi:schemaLo ...

  5. 使用DriverManager动态加载JDBC驱动时,报:java.sql.SQLException: No suitable driver found for xxxx 错误

    参考文章: yanbin.blog - 自定义类加载器动态加载 JDBC 驱动 项目场景: 使用DriverManager动态加载JDBC驱动时,报:java.sql.SQLException: No ...

  6. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块...

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  7. 使用forName动态加载类文件

    动态加载(Dynamic Loading)是指在程序运行时加载需要的类库文件,对Java程序来说,一般情况下,一个类文件在启动时或首次初始化时会被加载到内存中,而反射则可以在运行时再决定是否需要加载一 ...

  8. [JAVA冷知识]动态加载不适合数组类?那如何动态加载一个数组类?

    写在前面 今天和小伙伴分享一些java小知识点,主要围绕下面几点: 既然数组是一个类, 那么编译后类名是什么?类路径呢? 为什么说动态加载不适合数组? 那应该如何动态加载一个数组? 部分内容参考 &l ...

  9. 【Linux 内核】宏内核与微内核架构 ( 操作系统需要满足的要素 | 宏内核 | 微内核 | Linux 内核动态加载机制 )

    文章目录 一.操作系统需要满足的要素 二.宏内核 三.微内核 四.Linux 内核动态加载机制 一.操作系统需要满足的要素 电脑上运行的 操作系统 , 是一个 软件 ; 设备管理 : 操作系统需要 为 ...

最新文章

  1. 3D IoU-Net:三维目标检测预测IoU
  2. Elasticsearch 7.0 已经发布,盘他!
  3. java可变长字符串_具有可变长度的scala字符串插值
  4. 一个平行四边形可以分成四个_将平行四边形分割成两个三角形还易变形么?(人教四下五单元三角形例2)...
  5. .net core实践系列之短信服务-Api的SDK的实现与测试
  6. 信息学奥赛一本通 1839:【05NOIP提高组】谁拿了最多奖学金 | OpenJudge NOI 1.9 04:谁拿了最多奖学金 | 洛谷 P1051 [NOIP2005 提高组] 谁拿了最多奖学金
  7. java冒险模组_求推荐几个冒险类的MOD
  8. 民科微服务电脑版下载_天翼云桌面通用版电脑版下载|天翼云桌面通用版PC客户端 V1.23.0 官方最新版 下载_当下软件园...
  9. Adopt Open JDK官方文档(五) Docker镜像
  10. IntelliJ IDEA 集成 SVN
  11. 物联网LoRa系列-2:LoRa系统架构与协议栈详解
  12. python热狗大战
  13. doc 问卷调查模板表_问卷调查Word模板.doc
  14. 现在的自助建站都有什么特点。
  15. 搜狗微信公众号文章反爬虫完美攻克
  16. 位置不可用无法访问介质受写入保护 chkdsk无法修复. 不知道怎样找到呢?
  17. 网页中插入Flash动画(.swf)代码和常用参数设置
  18. 这老铁教你如何制作亮眼简厉!!
  19. window7旗舰版SP1官方原版自激活镜像iso
  20. docker私有仓库harbor使用域名登录并push镜像

热门文章

  1. 图解使用PowerTool对Windows内核做初步研究探索
  2. CSS列表和一些变化情况
  3. Java 三大框架集成项目结构
  4. 【ds】HDU_1166
  5. 51单片机学习笔记(清翔版)(21)——ADDA数模转换
  6. Java多线程编程实战指南+设计模式篇pdf
  7. DateTimePicker——开源的Android日历类库
  8. 腾讯下一个重点:硬件;硬件自身的未来也正进入多元化发展
  9. 关于内存管理-提前释放的问题
  10. 自学MVC——添加一个控制器