bootclassloader.java

来自「gcc的组建」· Java 代码 · 共 75 行

JAVA
75
字号
/* Copyright (C) 2005  Free Software Foundation   This file is part of libgcj.This software is copyrighted work licensed under the terms of theLibgcj License.  Please consult the file "LIBGCJ_LICENSE" fordetails.  */package gnu.gcj.runtime;import java.io.IOException;import java.net.URL;import java.util.Enumeration;/** * This is a helper for the bootstrap class loader.  It is a * URLClassLoader so that we can read a class path and re-use all the * existing code for finding classes, extracting them from jars, etc. * However, it is never called the way that an ordinary ClassLoader is * called.  For instance, loadClass() is never used. */public final class BootClassLoader extends HelperClassLoader{  BootClassLoader(String libdir)  {    // The BootClassLoader is the top of the delegation chain. It does not    // have a parent.    super((ClassLoader) null);    addDirectoriesFromProperty("java.endorsed.dirs");    addDirectoriesFromProperty("gnu.gcj.runtime.endorsed.dirs");    try      {	// Add core:/ to the end so any resources compiled into this	// executable may be found.	addURL(new URL("core", "", -1, "/"));      }    catch (java.net.MalformedURLException x)      {	// This should never happen.	throw new RuntimeException(x);      }  }  public Class bootLoadClass(String name)    throws ClassNotFoundException  {    Class c = findLoadedClass(name);    if (c == null)      {	try	  {	    // We could hack URLClassLoader to make this more	    // efficient, if it mattered.	    c = findClass(name);	  }	catch (ClassNotFoundException _)	  {	    c = null;	  }      }    return c;  }  public URL bootGetResource(String name)  {    return findResource(name);  }  public Enumeration bootGetResources(String name) throws IOException  {    return findResources(name);  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?