Java的动态加载包
来源:互联网 发布:淘宝欧美女装品牌 编辑:程序博客网 时间:2024/05/17 02:57
在插件化的道路上,我们最为需要的技术就是动态加载,在c#中这点是非常容易实现的,而在java中也早在jdk1.2中就提到了解决方法:
一般来说有重写classloader的方式,但在java.net包中提供了URLClassLoader类,这个类非常有用。非常适合于动态加载。实例如下:
File file = new File(jar文件全路径);
URL url = file.toURL();
URLClassLoader loader = new URLClassLoader(new URL[] { url });
Class tidyClazz = loader.loadClass(所需class的含包名的全名);
在插件的构造过程中,我们需要不停的加载各种包,如果每次都重新构建URLClassLoader,会大量的消耗系统资源和IO,并且这些操作会有大量的重复,所以,解决的方案是将构建好的URLClassLoader变为Threa.currentThread().setContextClassLoader(),根据classLoader的工作模式,这个classLoader同时含有前后两个classLoader的能力,但是我们必须自己记录加载了那些包,而且内存中的对象会大大增加,每加载一个插件都会增加一次,为了解决这个问题,我们必须自己重写classLoader。
- Java的动态加载包
- Java的动态加载包
- java动态加载jar包
- java动态加载jar包
- java动态加载jar包
- JAVA动态加载JAR包
- Java 动态加载jar包
- python 动态的加载包
- 实现java classloader 动态加载jar包
- 动态加载jar包的方法
- python动态加载包
- python动态加载包
- JAVA动态加载JAR包的实现,代码很简单,但对新手很难!
- java动态加载jar包,并运行其中的类和方法
- Java——动态加载任意目录下的架包
- JAVA实现动态加载jar包并调用其中的方法
- java动态加载指定的类或者jar包反射调用其方法
- Android 安全——Java环境动态加载Jar之Jar包的加密和解密
- 影响中国软件开发的20人-- 教育先导篇
- 影响中国软件开发的20人-- 创新者篇
- 影响中国软件开发的20人-- 个人典范篇
- Eclipse 实用快捷键大全
- 批处理内部命令!
- Java的动态加载包
- 安装 MinGW
- SQL Server的使用笔记
- 《魔兽世界》的寻路体系和作弊原理分析
- 哪个是你爱情的颜色?
- 手机上流行的各类谜语
- 基于J2EE的开发的一些经验
- 创业失败常见的8大原因
- 让硬盘更快,让系统更稳定