Here you can find the source of loadClass(String className)
public static Class<?> loadClass(String className)
//package com.java2s; /*//www.j a va 2 s .c o m * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; public class Main { private static final boolean USE_SEPARATE_CLASSLOADER = Boolean.getBoolean("jmh.separateClassLoader"); public static Class<?> loadClass(String className) { try { if (!USE_SEPARATE_CLASSLOADER) { return Class.forName(className); } // load the class in a different classloader String classPathValue = System.getProperty("java.class.path"); String[] classPath = classPathValue.split(File.pathSeparator); URL[] classPathUrl = new URL[classPath.length]; for (int i = 0; i < classPathUrl.length; i++) { try { classPathUrl[i] = new File(classPath[i]).toURI().toURL(); } catch (MalformedURLException ex) { throw new RuntimeException( "Error parsing the value of property java.class.path: " + classPathValue, ex); } } URLClassLoader loader = new URLClassLoader(classPathUrl); return loader.loadClass(className); } catch (ClassNotFoundException ex) { throw new IllegalArgumentException("Benchmark does not match a class", ex); } } }