Java 如何创建一个不会在父类中搜索加载类的类加载器

Java 如何创建一个不会在父类中搜索加载类的类加载器,java,classloader,Java,Classloader,我想我了解类加载层次结构是如何工作的。(JVM首先查看父层次结构) 因此,我想创建一个类加载器,或者使用一个现有的库,这是一个完全独立的作用域,不考虑父类加载层次结构。实际上,我正在寻找启动单独JVM的相同效果,但实际上没有这样做 我相信这是可能的,但令人惊讶的是,很难找到一个简单的例子来说明如何做到这一点。只需使用URLClassLoader并提供null作为父级 File myDir = new File("/some/directory/"); ClassLoader loader = n

我想我了解类加载层次结构是如何工作的。(JVM首先查看父层次结构)

因此,我想创建一个类加载器,或者使用一个现有的库,这是一个完全独立的作用域,不考虑父类加载层次结构。实际上,我正在寻找启动单独JVM的相同效果,但实际上没有这样做


我相信这是可能的,但令人惊讶的是,很难找到一个简单的例子来说明如何做到这一点。

只需使用
URLClassLoader
并提供
null
作为父级

File myDir = new File("/some/directory/");
ClassLoader loader = null;
try {
    URL url = myDir.toURL();         
    URL[] urls = new URL[]{url};
    loader = new URLClassLoader(urls, null);
} 
catch (MalformedURLException e) 
{
    // oops
}