URLClassLoader的使用
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的使用相关推荐
- Java运行时动态加载类之URLClassLoader
需求场景:通过URLClassLoader从jar文件中加载类并创建实例,可实现运行时动态加载 1.要加载的jar: 1)接口类IC package cn.fjs;public interface I ...
- at java.net.urlclassloader.findclass_如何使用URLClassLoader加载* .class文件?
我在玩反射,我想做点东西来加载一个类并打印该类中所有字段的名称.我制作了一个小型的hello world类型的类来检查一些东西: kent@rat:~/eclipsews/SmallExample/b ...
- 自定义类加载器(ClassLoader + URLClassLoader)
[0]README 0.1)本文主要对类加载器进行分析,且 URLClassLoader是 ClassLoader的子类: 0.2)关于如何设置类加载器的加载路径,参见 对servlet容器的补充 [ ...
- java打印已经被加载的类_使用URLClassLoader加载类,不会报错,但被加载类中的内容也没有打印出来...
被加载类和加载类的程序在一个文件夹下: 运行没有任何结果: D:java_exercise>javac URLTest.java D:java_exercise>java URLTest ...
- Java动态编译优化——URLClassLoader 内存泄漏问题解决
一.动态编译案例 要说动态编译内存泄漏,首先我们先看一个案例(网上搜动态编译的资料是千篇一律,只管实现功能,不管内存泄漏,并且都恬不知耻的标识为原创!!) Java URLClassLoader 动 ...
- URLClassLoader热加载、卸载,自定义热加载数据池 jar包(附:Springboot + Hutool-db 使用实例)
参考文章: 利用classloader实现jar包的加载和卸载,实现类的热替换 动态添加classpath 关于ClassLoader.getSystemClassLoader()和Thread.cu ...
- 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 ...
- 2021年大数据Flink(七):参数总结
参数总结 [root@node1 bin]# /export/server/flink/bin/flink --help./flink <ACTION> [OPTIONS] [ARGUME ...
- java编程 linux_Linux下java编程
一.如何编译程序 1.mkdir hello,cd hello vi HelloWorld.java public class HelloWorld{ public static void main( ...
最新文章
- 知识库的构建 5-3 马尔科夫逻辑 Markov logic
- 开源wkhtmltopdf使用心得 (一)
- mysql事务实现数据更新_MySql事务select for update及数据的一致性处理讲解
- Android 网络交互之MD5为什么要加盐
- 【C#】调度程序进程已挂起,但消息仍在处理中;
- 2013年海康威视校园招聘笔试题
- 跟着别人的感觉做网络推广之二
- 我也来记录我的一些开发心得和笔记!
- Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh
- 在Wireshark中过滤数据包
- 【英语学习】【Level 07】U04 Rest and Relaxation L6 Your home away from home
- linux 词霸,Linux中的词霸
- linkscrpit
- java if语句练习
- Docker 镜像优化:减小镜像尺寸
- 计算机如何取消自动关机,怎么解除电脑自动关机
- Tomcat6.0安装和使用
- 4、金字塔原理:演示的逻辑(10-12)-阅读笔记
- 人类简史下载pdf_《人类简史:从动物到上帝》高清扫描版pdf下载
- mysql查询bom清单_U8 数据库BOM表SQL语句查询