public final class ClassLoaderUtils
extends java.lang.Object
| 限定符和类型 | 类和说明 |
|---|---|
protected static class |
ClassLoaderUtils.AggregateIterator<E>
聚合成一个能进行重复迭代和过滤的枚举实例。
|
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.Class<?> |
defineClass(java.lang.ClassLoader classLoader,
java.lang.String name,
byte[] code,
java.security.ProtectionDomain protectionDomain)
Define class.
|
static java.lang.Class<?> |
defineClass(java.lang.ClassLoader classLoader,
java.lang.String name,
byte[] code,
java.security.ProtectionDomain protectionDomain,
java.util.function.Supplier<java.lang.Class<?>> supplier)
Define class.
|
static java.net.URL |
getResource(java.lang.String resourceName)
加载给定的资源.
|
static java.net.URL |
getResource(java.lang.String resourceName,
java.lang.Class<?> callingClass)
加载给定的资源.
|
static java.io.InputStream |
getResourceAsStream(java.lang.String resourceName)
这是一个用来方便的加载流资源的方法.
|
static java.io.InputStream |
getResourceAsStream(java.lang.String resourceName,
java.lang.Class<?> callingClass)
这是一个用来方便的加载流资源的方法.
|
static java.util.Iterator<java.net.URL> |
getResources(java.lang.String resourceName,
boolean aggregate)
加载给定名称的所有资源,将搜索类加载器或得的所有结果汇总.
|
static java.util.Iterator<java.net.URL> |
getResources(java.lang.String resourceName,
java.lang.Class<?> callingClass,
boolean aggregate)
加载给定名称的所有资源,将搜索类加载器或得的所有结果汇总.
|
static java.lang.Class<?> |
loadClass(java.lang.String className,
java.lang.Class<?> callingClass)
使用传入的名称加载类(class).
|
static void |
printClassLoader()
打印输出当前类加载器的层次结构 - 调试很有用.
|
static void |
printClassLoader(java.lang.ClassLoader cl)
打印输出给定类加载器的层次结构 - 调试很有用.
|
static java.lang.String |
showClassLoaderHierarchy(java.lang.ClassLoader cl)
显示给定类加载器的层次结构.
|
static java.lang.String |
showClassLoaderHierarchy(java.lang.ClassLoader cl,
java.lang.String lineBreak,
java.lang.String tabText)
显示给定类加载器的层次结构.
|
static java.lang.String |
showClassLoaderHierarchy(java.lang.Object obj,
java.lang.String role)
显示类加载器的层次结构.
|
static java.lang.String |
showClassLoaderHierarchy(java.lang.Object obj,
java.lang.String role,
java.lang.String lineBreak,
java.lang.String tabText)
显示类加载器的层次结构.
|
public static java.lang.Class<?> defineClass(java.lang.ClassLoader classLoader,
java.lang.String name,
byte[] code,
java.security.ProtectionDomain protectionDomain)
classLoader - the class loadername - the namecode - the codeprotectionDomain - the protection domainpublic static java.lang.Class<?> defineClass(java.lang.ClassLoader classLoader,
java.lang.String name,
byte[] code,
java.security.ProtectionDomain protectionDomain,
java.util.function.Supplier<java.lang.Class<?>> supplier)
classLoader - the class loadername - the namecode - the codeprotectionDomain - the protection domainsupplier - the supplierpublic static java.util.Iterator<java.net.URL> getResources(java.lang.String resourceName,
boolean aggregate)
throws java.io.IOException
resourceName - 需要加载的资源名称aggregate - aggregatejava.io.IOException - IO异常public static java.util.Iterator<java.net.URL> getResources(java.lang.String resourceName,
java.lang.Class<?> callingClass,
boolean aggregate)
throws java.io.IOException
resourceName - 需要加载的资源名称callingClass - 调用对象的classaggregate - aggregatejava.io.IOException - IO异常public static java.net.URL getResource(java.lang.String resourceName)
resourceName - 需要加载的资源名称public static java.io.InputStream getResourceAsStream(java.lang.String resourceName)
resourceName - 需要加载的资源名称public static java.net.URL getResource(java.lang.String resourceName,
java.lang.Class<?> callingClass)
resourceName - 需要加载的资源名称callingClass - 调用对象的classpublic static java.io.InputStream getResourceAsStream(java.lang.String resourceName,
java.lang.Class<?> callingClass)
resourceName - 需要加载的资源名称callingClass - 调用对象的classpublic static java.lang.Class<?> loadClass(java.lang.String className,
java.lang.Class<?> callingClass)
throws java.lang.ClassNotFoundException
className - 需要加载的类(class)名称callingClass - 调用类或对象的class属性java.lang.ClassNotFoundException - 如果从以上提供的几个地方都未加载到,则抛出.public static void printClassLoader()
public static void printClassLoader(java.lang.ClassLoader cl)
cl - 给定的类加载器public static java.lang.String showClassLoaderHierarchy(java.lang.Object obj,
java.lang.String role)
obj - 对象层次结构的分析装载机role - 当前类在应用程序中作用的说明 (例如,"servlet"或"EJB"的引用)public static java.lang.String showClassLoaderHierarchy(java.lang.Object obj,
java.lang.String role,
java.lang.String lineBreak,
java.lang.String tabText)
obj - 对象层次结构的分析装载机role - 当前类在应用程序中作用的说明 (例如,"servlet"或"EJB"的引用)lineBreak - 设置断行符tabText - 设置tabText文本使用的标签public static java.lang.String showClassLoaderHierarchy(java.lang.ClassLoader cl)
cl - 需要分析的classLoaderpublic static java.lang.String showClassLoaderHierarchy(java.lang.ClassLoader cl,
java.lang.String lineBreak,
java.lang.String tabText)
cl - 需要分析的classLoaderlineBreak - 设置断行符tabText - 设置tabText文本使用的标签