📄 sharedlibloader.java
字号:
/* Copyright (C) 2001, 2003 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.MalformedURLException;import java.net.URL;import java.security.CodeSource;import java.util.Enumeration;import java.util.Vector;/** * A ClassLoader backed by a gcj-compiled shared library. * @author Per Bothner <per@bothner.com>, Brainfood Inc. */public class SharedLibLoader extends ClassLoader{ /** Load a shared library, and associate a ClassLoader with it. * @param libname named of shared library (passed to dlopen) * @param parent the parent ClassLoader * @parem flags passed to dlopen */ public SharedLibLoader(String libname, ClassLoader parent, int flags) { super(parent); URL url; try { url = new URL("file", "", libname); } catch (MalformedURLException _) { url = null; } helper = SharedLibHelper.findHelper(this, libname, new CodeSource(url, null), true); } /** Load a shared library, and asociate a ClassLoader with it. * @param libname named of shared library (passed to dlopen) */ public SharedLibLoader(String libname) { this(libname, getSystemClassLoader(), 0); } public Class findClass(String name) throws ClassNotFoundException { Class cls = helper.findClass(name); if (cls == null) throw new ClassNotFoundException(name); return cls; } public URL findResource (String name) { return helper.findResource(name); } public Enumeration findResources (String name) throws IOException { URL url = findResource(name); if (url == null) return null; Vector v = new Vector(1); v.add(url); return v.elements(); } /** The helper that does the work for us. */ SharedLibHelper helper;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -