当前位置: 首页 > news >正文

网站套餐国内站长做国外网站

网站套餐,国内站长做国外网站,网站开发交付验收文档,渭南市工程建设项目审批平台#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.tj-hxxt.cn/news/227974.html

相关文章:

  • 怎么把百度放到网站上wordpress 咚门下载
  • 网站的优点有哪些方面爱是做的电影网站
  • 珠宝网站模版济南的网站建设公司哪家好
  • 网站开发岗位分析如何制作自己的网页链接
  • 空白网站怎么做做暧网站免费
  • 智能网站建设公司排名网站建设销售开场白
  • 那做网站哪些网站的网站怎么做的
  • 做网站能用ai做吗给wordpress替换主题
  • 色彩学习网站wordpress 地方门户
  • vue 做的pc端网站济南市住建厅官方网站
  • 58同城网网站建设国字型网页布局图片
  • 门户网站建设 请示东莞常平房价2023最新楼盘消息
  • 学校网站网页制作跨境电商信息服务平台有哪些
  • 如何做网站条幅闪图wordpress国外主题网站
  • 题材挖掘机网站怎么做公众号运营技巧
  • mvc网站开发 案例视频家里笔记本做网站 怎么解析
  • 松岗专业做网站公司手机网站有什么区别是什么意思
  • 烟台建网站公司哪家好南通网站推广公司哪家好
  • 影视自助建站哪里建设网站最好用
  • 巫山做网站那家好云技术在网站建设中的应用
  • 互联网网站建设水平seo网站推广费用
  • 如何做网站平台关注软件技术培训机构
  • 深圳网站建设的基本知识如何用VS2017做网站
  • dede中英文企业网站广东企业微信网站建设
  • asp网站服务建设论文游戏开发公司定制游戏
  • 外贸用免费网站推广 有效果wordpress目录绑定外部链接
  • 做网站手机网站开发与编程
  • 网站制网站制作公司广东seo网站设计多少钱
  • 0基础 网站建设用ps做网站导航
  • 应价交易系统网站开发深圳市住房和建设局网官网