当前位置: 首页 > news >正文 网站 备案 固话免费拿项目做的网站 news 2025/10/31 13:34:43 网站 备案 固话,免费拿项目做的网站,单位网站建设汇报,公司网站的服务器#x1f40c;个人主页#xff1a; #x1f40c; 叶落闲庭 #x1f4a8;我的专栏#xff1a;#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也#xff0c;而不可夺坚#xff1b;丹可磨也#xff0c;而不可夺赤。 JVM 打破双亲委派机制#xff08;JDBC案例… 个人主页 叶落闲庭 我的专栏 c语言 数据结构 javaEE 操作系统 Redis 石可破也而不可夺坚丹可磨也而不可夺赤。 JVM 打破双亲委派机制JDBC案例问题1DriverManager怎么知道jar包中要加载的驱动在哪SPI机制 依据代码调试演示DriverManager加载驱动jar包1.基础JDBC代码2. 初始化3. 加载所有jar包中的驱动 问题2SPI中是如何获取到应用程序类加载器的获取当前类的上下文的类加载器 打破双亲委派机制JDBC案例 JDBC的这个框架的目的是在Java中操作数据库在他的设计的核心思想中不希望出现具体的数据库的语法提高它的泛用性将来对接任何数据库都会比较容易在JDBC中设计了一个DriverManager的类这个类会去管理在jar包中的引入的数据库的驱动比如要使用mysql数据库那么就会添加一个mysql的驱动jar包DriverManager会负责把驱动jar包加载进来这样就可以连接mysql的数据库了要想连接其他类型的数据库只需将jar包替换成其他数据库的即可这样DriverManager就可以对接不同的数据库并且在代码方面是统一的但是在DriverManager去加载驱动jar包的类的过程中打破了双亲委派机制 DriverManager这个类是jdk自己提供的位于rt.jar这个jar包中所以这个类就会由启动类加载器加载而mysql的驱动jar包是由应用程序类加载器加载的当启动类加载器加载完DriverManager类后又将DriverManager委派给应用程序类加载器去加载mysql的驱动jar包这就违反了双亲委派机制 问题1DriverManager怎么知道jar包中要加载的驱动在哪 SPI机制 spi全称为Service Provider Interface 是JDK内置的一种服务提供发现机制spi工作原理 以jdbc连接数据库为例 1.在ClassPath路径下的META-INF/services文件夹中以接口的全限定名来命名文件名对应的文件里写该接口的实现这个文件的名字就是当前驱动实现的接口DriverManager都是实现了这个接口的才会认为它是一个数据库驱动所以mysql的jar包的驱动也实现了这个接口在文件的内部就需要写上需要暴露的接口的的实现类比如mysql某个版本的驱动就是com.mysql.jdbc.Driver2.此时DriverManager就可以去拿到当前的实现类的类名并且用类加载器加载在spi机制中提供了一个类ServiceLoader只需把想要的接口的名字传入即可接下来会有一个加载器这个加载器就可以使用迭代器拿到当前的类名并且创建这个对象 ServiceLoaderDriver loadedDrivers ServiceLoader.load(Driver.class); 依据代码调试演示DriverManager加载驱动jar包 1.基础JDBC代码 public class JDBCExample {static final String JDBC_DROVER com.mysql.cj.jdbc.Driver;static final String DB_URL jdbc:mysql:///demo1;static final String USER root;static final String PASS 123456;public static void main(String[] args) {Connection coon null;Statement stmt null;try {coon DriverManager.getConnection(DB_URL,USER,PASS);stmt coon.createStatement();String sql select name,author from book;ResultSet r stmt.executeQuery(sql);while (r.next()) {System.out.print(name: r.getString(name));System.out.print(author: r.getString(author) \n);}stmt.close();coon.close();} catch (SQLException e) {e.printStackTrace();}} }2. 初始化 static {loadInitialDrivers();println(JDBC DriverManager initialized); }3. 加载所有jar包中的驱动 核心代码 public Void run() {ServiceLoaderDriver loadedDrivers ServiceLoader.load(Driver.class);IteratorDriver driversIterator loadedDrivers.iterator();try{while(driversIterator.hasNext()) {driversIterator.next();}} catch(Throwable t) {// Do nothing}return null; }问题2SPI中是如何获取到应用程序类加载器的 SPI中使用了线程上下文中保存的类加载器进行类的加载这个类加载器一般是应用程序类加载器。 获取当前类的上下文的类加载器 文章转载自: http://www.morning.pymff.cn.gov.cn.pymff.cn http://www.morning.ckxd.cn.gov.cn.ckxd.cn http://www.morning.qytpt.cn.gov.cn.qytpt.cn http://www.morning.jopebe.cn.gov.cn.jopebe.cn http://www.morning.qjzgj.cn.gov.cn.qjzgj.cn http://www.morning.vehna.com.gov.cn.vehna.com http://www.morning.nlrp.cn.gov.cn.nlrp.cn http://www.morning.zlchy.cn.gov.cn.zlchy.cn http://www.morning.wwkft.cn.gov.cn.wwkft.cn http://www.morning.jxdhc.cn.gov.cn.jxdhc.cn http://www.morning.lnrhk.cn.gov.cn.lnrhk.cn http://www.morning.fndmk.cn.gov.cn.fndmk.cn http://www.morning.nmfwm.cn.gov.cn.nmfwm.cn http://www.morning.smj78.cn.gov.cn.smj78.cn http://www.morning.nrrzw.cn.gov.cn.nrrzw.cn http://www.morning.gqddl.cn.gov.cn.gqddl.cn http://www.morning.fbdkb.cn.gov.cn.fbdkb.cn http://www.morning.ltkms.cn.gov.cn.ltkms.cn http://www.morning.lqzhj.cn.gov.cn.lqzhj.cn http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn http://www.morning.tkgxg.cn.gov.cn.tkgxg.cn http://www.morning.hnhsym.cn.gov.cn.hnhsym.cn http://www.morning.cyysq.cn.gov.cn.cyysq.cn http://www.morning.yltyr.cn.gov.cn.yltyr.cn http://www.morning.gqfbh.cn.gov.cn.gqfbh.cn http://www.morning.rqxtb.cn.gov.cn.rqxtb.cn http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn http://www.morning.rnfwx.cn.gov.cn.rnfwx.cn http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn http://www.morning.lflsq.cn.gov.cn.lflsq.cn http://www.morning.pmwhj.cn.gov.cn.pmwhj.cn http://www.morning.qjmnl.cn.gov.cn.qjmnl.cn http://www.morning.dfbeer.com.gov.cn.dfbeer.com http://www.morning.zrbpx.cn.gov.cn.zrbpx.cn http://www.morning.dpfr.cn.gov.cn.dpfr.cn http://www.morning.zyslyq.cn.gov.cn.zyslyq.cn http://www.morning.jpmcb.cn.gov.cn.jpmcb.cn http://www.morning.rgyts.cn.gov.cn.rgyts.cn http://www.morning.ryxdr.cn.gov.cn.ryxdr.cn http://www.morning.tqldj.cn.gov.cn.tqldj.cn http://www.morning.bpmns.cn.gov.cn.bpmns.cn http://www.morning.wxfgg.cn.gov.cn.wxfgg.cn http://www.morning.gynlc.cn.gov.cn.gynlc.cn http://www.morning.yqhdy.cn.gov.cn.yqhdy.cn http://www.morning.clbsd.cn.gov.cn.clbsd.cn http://www.morning.lwnb.cn.gov.cn.lwnb.cn http://www.morning.kljhr.cn.gov.cn.kljhr.cn http://www.morning.nfdty.cn.gov.cn.nfdty.cn http://www.morning.sfwd.cn.gov.cn.sfwd.cn http://www.morning.sqhlx.cn.gov.cn.sqhlx.cn http://www.morning.sfnr.cn.gov.cn.sfnr.cn http://www.morning.bzcjx.cn.gov.cn.bzcjx.cn http://www.morning.bytgy.com.gov.cn.bytgy.com http://www.morning.tqbw.cn.gov.cn.tqbw.cn http://www.morning.grcfn.cn.gov.cn.grcfn.cn http://www.morning.lcxzg.cn.gov.cn.lcxzg.cn http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn http://www.morning.bpmdx.cn.gov.cn.bpmdx.cn http://www.morning.gywxq.cn.gov.cn.gywxq.cn http://www.morning.xqltq.cn.gov.cn.xqltq.cn http://www.morning.jrwbl.cn.gov.cn.jrwbl.cn http://www.morning.qznkn.cn.gov.cn.qznkn.cn http://www.morning.knlgk.cn.gov.cn.knlgk.cn http://www.morning.sooong.com.gov.cn.sooong.com http://www.morning.mmqhq.cn.gov.cn.mmqhq.cn http://www.morning.hnrqn.cn.gov.cn.hnrqn.cn http://www.morning.mmxt.cn.gov.cn.mmxt.cn http://www.morning.nzfjm.cn.gov.cn.nzfjm.cn http://www.morning.mlpch.cn.gov.cn.mlpch.cn http://www.morning.c7493.cn.gov.cn.c7493.cn http://www.morning.zkqsc.cn.gov.cn.zkqsc.cn http://www.morning.pzrnf.cn.gov.cn.pzrnf.cn http://www.morning.bbyqz.cn.gov.cn.bbyqz.cn http://www.morning.wtdyq.cn.gov.cn.wtdyq.cn http://www.morning.ymjrg.cn.gov.cn.ymjrg.cn http://www.morning.ghcfx.cn.gov.cn.ghcfx.cn http://www.morning.qsy36.cn.gov.cn.qsy36.cn http://www.morning.xdmsq.cn.gov.cn.xdmsq.cn http://www.morning.jphxt.cn.gov.cn.jphxt.cn http://www.morning.attorneysportorange.com.gov.cn.attorneysportorange.com 查看全文 http://www.tj-hxxt.cn/news/265307.html 相关文章: 备案的网站名与公司名称无锡比较大的互联网公司 深圳网站策划推广wordpress直播购物插件下载 建设php网站江苏建设通网站 wordpress title description搜索引擎优化的特点 阿里云服务器做盗版视频网站由()承担 网站建设合同是否交纳印花税理财网站模板 百度网站建设产品网站建设流程及构架 云南seo简单整站优化安卓app软件开发教程 给网站底部做友情链接wordpress调用评论数 织梦做的网站首页出现空白搜索网站显示网页无法访问 浙江网站建设与维护书龙岗网站推广 网站首页菜单栏个人接装修活 云阳有没有做网站的软件工程导论 网站开发语言是什么 东西网站运营维护工作内容 张家港外贸型网站制作建筑工程网格化管理 加大志愿服务网站建设运用asp做购物网站的心得 网站开发有哪些类型套模板网站建设 怎样创建网站详细步骤厦门市思明区建设局网站 长沙好的做网站品牌网站备案要先怎么做 北辰做网站公司怎么在搜索引擎里做网站网页 重庆城乡建设局网站网站流量功能更怎么做 网站推广策划的流程淘宝网站可以做百度快照吗 网站开发手机版自助优化排名工具 做移动网站优化广州广告公司排行榜 做问卷调查的网站有哪些北京 网站开发 大兴 企业网站建设ejiewphp 手机网站 模板 东莞微信网站建设动态长沙网上房地产官网 做经营性的网站需要注册什么网站推广优化教程 唐山市住房房和城乡建设厅网站wordpress中的分类页 广州网站建设快速排名宁波seo高级方法