URLClassLoader

​ 在java.net包中,JDK提供了一个更加易用的类加载器URLClassLoader,它扩展了ClassLoader,能够从本地或者网络上指定的位置加载类。我们可以使用该类作为自定义的类加载器使用。

构造方法:

public URLClassLoader(URL[] urls):指定要加载的类所在的URL地址,父类加载器默认为系统类加载器。

public URLClassLoader(URL[] urls, ClassLoader parent):指定要加载的类所在的URL地址,并指定父类加载器。

案例1:加载磁盘上的类

public static void main(String[] args) throws Exception{File file = new File("d:/");URI uri = file.toURI();URL url = uri.toURL();URLClassLoader classLoader = new URLClassLoader(new URL[]{url});System.out.println(classLoader.getParent());Class aClass = classLoader.loadClass("com.leon.Demo");Object obj = aClass.newInstance();}

案例2:加载网络上的类

public static void main(String[] args) throws Exception{URL url = new URL("http://localhost:8080/examples/");URLClassLoader classLoader = new URLClassLoader(new URL[]{url});System.out.println(classLoader.getParent());Class aClass = classLoader.loadClass("com.leon.Demo");aClass.newInstance();
}

URLClassLoader的使用相关推荐

  1. Java运行时动态加载类之URLClassLoader

    需求场景:通过URLClassLoader从jar文件中加载类并创建实例,可实现运行时动态加载 1.要加载的jar: 1)接口类IC package cn.fjs;public interface I ...

  2. at java.net.urlclassloader.findclass_如何使用URLClassLoader加载* .class文件?

    我在玩反射,我想做点东西来加载一个类并打印该类中所有字段的名称.我制作了一个小型的hello world类型的类来检查一些东西: kent@rat:~/eclipsews/SmallExample/b ...

  3. 自定义类加载器(ClassLoader + URLClassLoader)

    [0]README 0.1)本文主要对类加载器进行分析,且 URLClassLoader是 ClassLoader的子类: 0.2)关于如何设置类加载器的加载路径,参见 对servlet容器的补充 [ ...

  4. java打印已经被加载的类_使用URLClassLoader加载类,不会报错,但被加载类中的内容也没有打印出来...

    被加载类和加载类的程序在一个文件夹下: 运行没有任何结果: D:java_exercise>javac URLTest.java D:java_exercise>java URLTest ...

  5. Java动态编译优化——URLClassLoader 内存泄漏问题解决

    一.动态编译案例 要说动态编译内存泄漏,首先我们先看一个案例(网上搜动态编译的资料是千篇一律,只管实现功能,不管内存泄漏,并且都恬不知耻的标识为原创!!) Java  URLClassLoader 动 ...

  6. URLClassLoader热加载、卸载,自定义热加载数据池 jar包(附:Springboot + Hutool-db 使用实例)

    参考文章: 利用classloader实现jar包的加载和卸载,实现类的热替换 动态添加classpath 关于ClassLoader.getSystemClassLoader()和Thread.cu ...

  7. jakarta.servlet.Filter is in unnamed module of loader java.net.URLClassLoader去除

    有重复的不同版本servlet包 删掉多个WEB-INF的多余版本包 1.从Project Structure里的Artifacts的WEB-INF里面删多余servlet 2.从out里的WEB-I ...

  8. 2021年大数据Flink(七):​​​​​​​参数总结

    参数总结 [root@node1 bin]# /export/server/flink/bin/flink --help./flink <ACTION> [OPTIONS] [ARGUME ...

  9. java编程 linux_Linux下java编程

    一.如何编译程序 1.mkdir hello,cd hello vi HelloWorld.java public class HelloWorld{ public static void main( ...

最新文章

  1. 知识库的构建 5-3 马尔科夫逻辑 Markov logic
  2. 开源wkhtmltopdf使用心得 (一)
  3. mysql事务实现数据更新_MySql事务select for update及数据的一致性处理讲解
  4. Android 网络交互之MD5为什么要加盐
  5. 【C#】调度程序进程已挂起,但消息仍在处理中;
  6. 2013年海康威视校园招聘笔试题
  7. 跟着别人的感觉做网络推广之二
  8. 我也来记录我的一些开发心得和笔记!
  9. Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh
  10. 在Wireshark中过滤数据包
  11. 【英语学习】【Level 07】U04 Rest and Relaxation L6 Your home away from home
  12. linux 词霸,Linux中的词霸
  13. linkscrpit
  14. java if语句练习
  15. Docker 镜像优化:减小镜像尺寸
  16. 计算机如何取消自动关机,怎么解除电脑自动关机
  17. Tomcat6.0安装和使用
  18. 4、金字塔原理:演示的逻辑(10-12)-阅读笔记
  19. 人类简史下载pdf_《人类简史:从动物到上帝》高清扫描版pdf下载
  20. mysql查询bom清单_U8 数据库BOM表SQL语句查询

热门文章

  1. 0048-三角形的判断
  2. Java 9 揭秘(1. 入门介绍)
  3. MySQL查询本周、上周、本月、上个月份数据的sql代码
  4. [BZOJ3275]Number解题报告|网络流
  5. 测试Live Writer
  6. CommandLineRunner与ApplicationRunner接口的使用及源码解析
  7. [转,借鉴]Java学习从入门到精通-过程篇
  8. 使用Spring工厂模式管理多个类实现同一个接口
  9. JQuery UI 拖拽排序
  10. sharepoint 2016 开启Project 2016 pwa网站