一.前言 笔者曾经阅读过周志明的<深入理解Java虚拟机>这本书,阅读完后自以为对jvm有了一定的了解,然而当真正碰到问题的时候,才发现自己读的有多粗糙,也体会到只有实践才能加深理解,正应对了那句话--"Talk is cheap, show me the code".前段时间,笔者同事提出了一个关于类加载器破坏双亲委派的问题,以我们常见到的数据库驱动Driver为例,为什么要实现破坏双亲委派,下面一起来重温一下. 二.双亲委派 想要知道为什么要破坏双亲委派,就要先从什么是…
代码托管在:https://github.com/fabe2ry/classloaderDemo 初始化数据库 如果你写过操作数据库的程序的话,可能会注意,有的代码会在程序的开头,有Class.forName("com.mysql.jdbc.Driver");的代码,并且告诉你这是在进行数据库的初始化,注册jdbc的驱动:但是其实如果你去掉这段代码,并不会影响程序的正常运行,当然这是需要在JDK6之后才行这样 import java.sql.*; public class MySQLD…