public class ClassLoaderUtil
extends java.lang.Object
| 构造器和说明 |
|---|
ClassLoaderUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.ClassLoader |
getClassLoader() |
static java.lang.ClassLoader |
getContextClassLoader()
获取当前线程的
ClassLoader |
static java.lang.ClassLoader |
getDefaultClassLoader()
获取当前默认的类加载器
|
static java.lang.ClassLoader |
getSystemClassLoader() |
static java.lang.Class<?> |
loadClass(java.lang.String name)
加载类,通过传入类的字符串,返回其对应的类名,使用默认ClassLoader并初始化类(调用static模块内容和初始化static属性)
扩展 Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载:
1、原始类型,例如:int
2、数组类型,例如:int[]、Long[]、String[]
3、内部类,例如:java.lang.Thread.State会被转为java.lang.Thread$State加载
|
static java.lang.Class<?> |
loadClass(java.lang.String name,
boolean isInitialized)
加载类,通过传入类的字符串,返回其对应的类名,使用默认ClassLoader
扩展 Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载:
1、原始类型,例如:int
2、数组类型,例如:int[]、Long[]、String[]
3、内部类,例如:java.lang.Thread.State会被转为java.lang.Thread$State加载
|
static java.lang.Class<?> |
loadClass(java.lang.String name,
java.lang.ClassLoader classLoader,
boolean isInitialized) |
static java.lang.Class<?> |
loadClass(java.lang.String name,
java.lang.ClassLoader classLoader,
boolean isInitialized,
boolean cached)
加载类,通过传入类的字符串,返回其对应的类名
此方法支持缓存,第一次被加载的类之后会读取缓存中的类 加载失败的原因可能是此类不存在或其关联引用类不存在 扩展 Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载:
1、原始类型,例如:int
2、数组类型,例如:int[]、Long[]、String[]
3、内部类,例如:java.lang.Thread.State会被转为java.lang.Thread$State加载
|
public static java.lang.ClassLoader getDefaultClassLoader()
ClassLoaderpublic static java.lang.ClassLoader getContextClassLoader()
ClassLoaderThread.getContextClassLoader()public static java.lang.ClassLoader getClassLoader()
public static java.lang.ClassLoader getSystemClassLoader()
public static java.lang.Class<?> loadClass(java.lang.String name)
throws UtilException
Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载:
1、原始类型,例如:int 2、数组类型,例如:int[]、Long[]、String[] 3、内部类,例如:java.lang.Thread.State会被转为java.lang.Thread$State加载
name - 类名UtilException - 包装ClassNotFoundException,没有类名对应的类时抛出此异常public static java.lang.Class<?> loadClass(java.lang.String name,
boolean isInitialized)
throws UtilException
Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载:
1、原始类型,例如:int 2、数组类型,例如:int[]、Long[]、String[] 3、内部类,例如:java.lang.Thread.State会被转为java.lang.Thread$State加载
name - 类名isInitialized - 是否初始化类(调用static模块内容和初始化static属性)UtilException - 包装ClassNotFoundException,没有类名对应的类时抛出此异常public static java.lang.Class<?> loadClass(java.lang.String name,
java.lang.ClassLoader classLoader,
boolean isInitialized)
throws UtilException
UtilExceptionpublic static java.lang.Class<?> loadClass(java.lang.String name,
java.lang.ClassLoader classLoader,
boolean isInitialized,
boolean cached)
throws UtilException
Class.forName(String, boolean, ClassLoader)方法,支持以下几类类名的加载:
1、原始类型,例如:int 2、数组类型,例如:int[]、Long[]、String[] 3、内部类,例如:java.lang.Thread.State会被转为java.lang.Thread$State加载
name - 类名classLoader - ClassLoader,null 则使用系统默认ClassLoaderisInitialized - 是否初始化类(调用static模块内容和初始化static属性)UtilException - 包装ClassNotFoundException,没有类名对应的类时抛出此异常