类加载
来源:互联网 发布:淘宝网图标图片大全 编辑:程序博客网 时间:2024/05/18 16:18
什么是类加载?
类加载的是Java 语言的一个特性,通过一个ClassLoader 类动态的加载类,进行创建。
如何加载?
被加载的类
hello.java
package cn.met0.manythread.sync;public class Hello { public void hello(String hello){ System.out.println(hello); }}
加载实例
ClassLoaderTest.java
package cn.met0.manythread.sync;import java.lang.reflect.InvocationTargetException;public class ClassLoaderTest { public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException, InstantiationException { ClassLoader classload = ClassLoader.getSystemClassLoader(); Class cls = classload.loadClass("cn.met0.manythread.sync.Hello"); Hello hello = (Hello) cls.newInstance(); hello.hello("hello classLoader"); }}
ClassLoader.getSystemClassLoader();
获取系统的类加载器对象 classload.loadClass("cn.met0.manythread.sync.Hello");
根据包名和类名获取一个Class 类。 Hello hello = (Hello) cls.newInstance();
根据Class 对象获取Hello 对象 hello.hello("hello classLoader");
调用hello 对象的方法。
URLClassLoader
URLClassLoader 是ClassLoader 类的一个子类,这个类比较好玩,它可以通过一个URL 数组创建一个类加载器。
URL[] array = {new URL("file:\\D:\\a.jar")};ClassLoader urlClassLoad = new URLClassLoader(array);
这个URL 数组的元素可以是一个jar 包路径,也可以是一个文件夹路径。
通过URLClassLoader 可以把这些jar 和文件夹的加载到一个ClassLoader 对象里面,然后用这个对象就可以获取这些jar 包和文件夹的类了。
package cn.met0.manythread.sync;public class ClassLoaderTest { public static void main(String[] args){ URL[] array = {new URL("file:\\D:\\a.jar")}; ClassLoader urlClassLoad = new URLClassLoader(array); urlClassLoad.loadClass(<ClassName>); }}
0 0
- 类加载过程---加载
- 加载、类加载、类加载器
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- 类加载
- Poj1845
- eclipse中查找文件
- java日志记录的5条规则
- EMR、EHR和PHR的定义与对比
- poj3641
- 类加载
- 非行内元素与行内元素转换的几种方法
- 今天在学习C语言循环时遇到的问题
- git工具使用
- 成为优秀程序员的十条黄金法则
- Eclipse打开Package Explorer
- centos7/rhel7设置笔记本触摸版
- 最短路径floyd算法
- 关于iwpriv :no private ioctls 的问题