6
我想我理解类加载层次结构是如何工作的。 (JVM首先查找父层次结构)如何创建一个不会搜索父类以加载类的ClassLoader
所以我想创建一个ClassLoader或使用现有的库,它是一个完全独立的作用域,并且不会查看父ClassLoading层次结构。其实我正在寻找启动一个单独的JVM的相同效果,但没有这样做。
我相信这是可能的,但很惊讶,很难找到一个简单的例子来说明如何做到这一点。
我想我理解类加载层次结构是如何工作的。 (JVM首先查找父层次结构)如何创建一个不会搜索父类以加载类的ClassLoader
所以我想创建一个ClassLoader或使用现有的库,它是一个完全独立的作用域,并且不会查看父ClassLoading层次结构。其实我正在寻找启动一个单独的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
}