📄 classloader.html
字号:
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="ClassLoader.html#setClassAssertionStatus(java.lang.String, boolean)">setClassAssertionStatus</A></B>(<A HREF="String.html" title="java.lang 中的类">String</A> className, boolean enabled)</CODE><BR> 设置在此类加载器及其包含的嵌套类中指定的最高层类所需的断言状态。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="ClassLoader.html#setDefaultAssertionStatus(boolean)">setDefaultAssertionStatus</A></B>(boolean enabled)</CODE><BR> 设置此类加载器的默认断言状态。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="ClassLoader.html#setPackageAssertionStatus(java.lang.String, boolean)">setPackageAssertionStatus</A></B>(<A HREF="String.html" title="java.lang 中的类">String</A> packageName, boolean enabled)</CODE><BR> 为指定包设置默认断言状态。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected void</CODE></FONT></TD><TD><CODE><B><A HREF="ClassLoader.html#setSigners(java.lang.Class, java.lang.Object[])">setSigners</A></B>(<A HREF="Class.html" title="java.lang 中的类">Class</A><?> c, <A HREF="Object.html" title="java.lang 中的类">Object</A>[] signers)</CODE><BR> 设置类的签署者。</TD></TR></TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TH ALIGN="left"><B>从类 java.lang.<A HREF="Object.html" title="java.lang 中的类">Object</A> 继承的方法</B></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="Object.html#clone()">clone</A>, <A HREF="Object.html#equals(java.lang.Object)">equals</A>, <A HREF="Object.html#finalize()">finalize</A>, <A HREF="Object.html#getClass()">getClass</A>, <A HREF="Object.html#hashCode()">hashCode</A>, <A HREF="Object.html#notify()">notify</A>, <A HREF="Object.html#notifyAll()">notifyAll</A>, <A HREF="Object.html#toString()">toString</A>, <A HREF="Object.html#wait()">wait</A>, <A HREF="Object.html#wait(long)">wait</A>, <A HREF="Object.html#wait(long, int)">wait</A></CODE></TD></TR></TABLE> <P><!-- ========= CONSTRUCTOR DETAIL ======== --><A NAME="constructor_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>构造方法详细信息</B></FONT></TH></TR></TABLE><A NAME="ClassLoader(java.lang.ClassLoader)"><!-- --></A><H3>ClassLoader</H3><PRE>protected <B>ClassLoader</B>(<A HREF="ClassLoader.html" title="java.lang 中的类">ClassLoader</A> parent)</PRE><DL><DD>使用指定的、用于委托操作的父类加载器创建新的类加载器。<p> 如果存在安全管理器,则调用其 <A HREF="SecurityManager.html#checkCreateClassLoader()"><CODE><tt>checkCreateClassLoader</tt></CODE></A> 方法。这可能导致安全性异常。 </p><P><DL><DT><B>参数:</B><DD><CODE>parent</CODE> - 父类加载器<DT><B>抛出:</B><DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果存在安全管理器并且其 <tt>checkCreateClassLoader</tt> 方法不允许创建新的类加载器。<DT><B>从以下版本开始:</B></DT> <DD>1.2</DD></DL></DL><HR><A NAME="ClassLoader()"><!-- --></A><H3>ClassLoader</H3><PRE>protected <B>ClassLoader</B>()</PRE><DL><DD>使用方法 <A HREF="ClassLoader.html#getSystemClassLoader()"><CODE><tt>getSystemClassLoader()</tt></CODE></A> 返回的 <tt>ClassLoader</tt> 创建一个新的类加载器,将该加载器作为父类加载器。<p> 如果存在安全管理器,则调用其 <A HREF="SecurityManager.html#checkCreateClassLoader()"><CODE><tt>checkCreateClassLoader</tt></CODE></A> 方法。这可能导致安全性异常。 </p><P><DL><DT><B>抛出:</B><DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果存在安全管理器并且其 <tt>checkCreateClassLoader</tt> 方法不允许创建新的类加载器。</DL></DL><!-- ============ METHOD DETAIL ========== --><A NAME="method_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>方法详细信息</B></FONT></TH></TR></TABLE><A NAME="loadClass(java.lang.String)"><!-- --></A><H3>loadClass</H3><PRE>public <A HREF="Class.html" title="java.lang 中的类">Class</A><?> <B>loadClass</B>(<A HREF="String.html" title="java.lang 中的类">String</A> name) throws <A HREF="ClassNotFoundException.html" title="java.lang 中的类">ClassNotFoundException</A></PRE><DL><DD>使用指定的<a href="#name">二进制名称</a>来加载类。此方法使用与 <A HREF="ClassLoader.html#loadClass(java.lang.String, boolean)"><CODE>loadClass(String, boolean)</CODE></A> 方法相同的方式搜索类。Java 虚拟机调用它来分析类引用。调用此方法等效于调用 <A HREF="ClassLoader.html#loadClass(java.lang.String, boolean)"><CODE><tt>loadClass(name, false)</tt></CODE></A>。</p><P><DD><DL><DT><B>参数:</B><DD><CODE>name</CODE> - 类的<a href="#name">二进制名称</a><DT><B>返回:</B><DD>得到的 <tt>Class</tt> 对象<DT><B>抛出:</B><DD><CODE><A HREF="ClassNotFoundException.html" title="java.lang 中的类">ClassNotFoundException</A></CODE> - 如果没有找到类</DL></DD></DL><HR><A NAME="loadClass(java.lang.String, boolean)"><!-- --></A><H3>loadClass</H3><PRE>protected <A HREF="Class.html" title="java.lang 中的类">Class</A><?> <B>loadClass</B>(<A HREF="String.html" title="java.lang 中的类">String</A> name, boolean resolve) throws <A HREF="ClassNotFoundException.html" title="java.lang 中的类">ClassNotFoundException</A></PRE><DL><DD>使用指定的<a href="#name">二进制名称</a>来加载类。此方法的默认实现将按以下顺序搜索类: <p><ol><li><p> 调用 <A HREF="ClassLoader.html#findLoadedClass(java.lang.String)"><CODE>findLoadedClass(String)</CODE></A> 来检查是否已经加载类。</p></li><li><p> 在父类加载器上调用 <A HREF="ClassLoader.html#loadClass(java.lang.String)"><CODE><tt>loadClass</tt></CODE></A> 方法。如果父类加载器为 <tt>null</tt>,则使用虚拟机的内置类加载器。 </p></li><li><p> 调用 <A HREF="ClassLoader.html#findClass(java.lang.String)"><CODE>findClass(String)</CODE></A> 方法查找类。</p></li> </ol><p> 如果使用上述步骤找到类,并且 <tt>resolve</tt> 标志为真,则此方法将在得到的 <tt>Class</tt> 对象上调用 <A HREF="ClassLoader.html#resolveClass(java.lang.Class)"><CODE>resolveClass(Class)</CODE></A> 方法。<p> 鼓励用 <tt>ClassLoader</tt> 的子类重写 <A HREF="ClassLoader.html#findClass(java.lang.String)"><CODE>findClass(String)</CODE></A>,而不是使用此方法。</p><P><DD><DL><DT><B>参数:</B><DD><CODE>name</CODE> - 类的<a href="#name">二进制名称</a><DD><CODE>resolve</CODE> - 如果该参数为 <tt>true</tt>,则分析这个类<DT><B>返回:</B><DD>得到的 <tt>Class</tt> 对象<DT><B>抛出:</B><DD><CODE><A HREF="ClassNotFoundException.html" title="java.lang 中的类">ClassNotFoundException</A></CODE> - 如果无法找到类</DL></DD></DL><HR><A NAME="findClass(java.lang.String)"><!-- --></A><H3>findClass</H3><PRE>protected <A HREF="Class.html" title="java.lang 中的类">Class</A><?> <B>findClass</B>(<A HREF="String.html" title="java.lang 中的类">String</A> name) throws <A HREF="ClassNotFoundException.html" title="java.lang 中的类">ClassNotFoundException</A></PRE><DL><DD>使用指定的<a href="#name">二进制名称</a>查找类。此方法应该被类加载器的实现重写,该实现按照委托模型来加载类。在通过父类加载器检查所请求的类后,此方法将被 <A HREF="ClassLoader.html#loadClass(java.lang.String)"><CODE><tt>loadClass</tt></CODE></A> 方法调用。默认实现抛出一个 <tt>ClassNotFoundException</tt>。 </p><P><DD><DL><DT><B>参数:</B><DD><CODE>name</CODE> - 类的<a href="#name">二进制名称</a><DT><B>返回:</B><DD>得到的 <tt>Class</tt> 对象<DT><B>抛出:</B><DD><CODE><A HREF="ClassNotFoundException.html" title="java.lang 中的类">ClassNotFoundException</A></CODE> - 如果无法找到类<DT><B>从以下版本开始:</B></DT> <DD>1.2</DD></DL></DD></DL><HR><A NAME="defineClass(byte[], int, int)"><!-- --></A><H3>defineClass</H3><PRE><FONT SIZE="-1"><A HREF="Deprecated.html" title="java.lang 中的注释">@Deprecated</A></FONT>protected final <A HREF="Class.html" title="java.lang 中的类">Class</A><?> <B>defineClass</B>(byte[] b, int off, int len) throws <A HREF="ClassFormatError.html" title="java.lang 中的类">ClassFormatError</A></PRE><DL><DD><B>已过时。</B> <I>由 <A HREF="ClassLoader.html#defineClass(java.lang.String, byte[], int, int)"><CODE>defineClass(String, byte[], int, int)</CODE></A> 取代</I><P><DD>将一个字节数组转换为 <tt>Class</tt> 类的实例。必须分析 <tt>Class</tt>,然后才能使用它。此方法已废弃,新版本将<a href="#name">二进制名称</a>作为该类的第一个参数,后者更加安全。<P><DD><DL><DT><B>参数:</B><DD><CODE>b</CODE> - 组成类数据的字节。<tt>off</tt> 与 <tt>off+len-1</tt> 之间的字节应该具有《<a href="../../../../../../../../java.sun.com/docs/books/vmspec/default.htm">Java Virtual Machine Specification</a>》定义的有效类文件的格式。<DD><CODE>off</CODE> - 类数据的 <tt>b</tt> 中的起始偏移量<DD><CODE>len</CODE> - 类数据的长度<DT><B>返回:</B><DD>从指定类数据创建的 <tt>Class</tt> 对象<DT><B>抛出:</B><DD><CODE><A HREF="ClassFormatError.html" title="java.lang 中的类">ClassFormatError</A></CODE> - 如果数据不包含有效类<DD><CODE><A HREF="IndexOutOfBoundsException.html" title="java.lang 中的类">IndexOutOfBoundsException</A></CODE> - 如果 <tt>off</tt> 或 <tt>len</tt> 为负,或者如果 <tt>off+len</tt> 大于 <tt>b.length</tt>。<DT><B>另请参见:</B><DD><A HREF="ClassLoader.html#loadClass(java.lang.String, boolean)"><CODE>loadClass(String, boolean)</CODE></A>, <A HREF="ClassLoader.html#resolveClass(java.lang.Class)"><CODE>resolveClass(Class)</CODE></A></DL></DD></DL><HR><A NAME="defineClass(java.lang.String, byte[], int, int)"><!-- --></A><H3>defineClass</H3><PRE>protected final <A HREF="Class.html" title="java.lang 中的类">Class</A><?> <B>defineClass</B>(<A HREF="String.html" title="java.lang 中的类">String</A> name, byte[] b, int off, int len) throws <A HREF="ClassFormatError.html" title="java.lang 中的类">ClassFormatError</A></PRE><DL><DD>将一个字节数组转换为 <tt>Class</tt> 类的实例。必须分析 <tt>Class</tt>,然后才能使用它。<p> 此方法将默认的 <CODE><tt>ProtectionDomain</tt></CODE> 分配给新定义的类。调用 <CODE><tt>Policy.getPolicy().getPermissions(new CodeSource(null, null))</tt></CODE> 时,<tt>ProtectionDomain</tt> 被有效授予所返回的相同权限集。默认域在第一次调用 <A HREF="ClassLoader.html#defineClass(java.lang.String, byte[], int, int)"><CODE><tt>defineClass</tt></CODE></A> 时创建,并在后续调用时被重用。<p> 要将特定的 <tt>ProtectionDomain</tt> 分配给类,需要使用 <A HREF="ClassLoader.html#defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain)"><CODE><tt>defineClass</tt></CODE></A> 方法,该方法将 <tt>ProtectionDomain</tt> 用作其参数之一。 </p><P><DD><DL><DT><B>参数:</B><DD><CODE>name</CODE> - 所需要的类的<a href="#name">二进制名称</a>,如果不知道此名称,则该参数为 <tt>null</tt><DD><CODE>b</CODE> - 组成类数据的字节。<tt>off</tt> 与 <tt>off+len-1</tt> 之间的字节应该具有《<a href="../../../../../../../../java.sun.com/docs/books/vmspec/default.htm">Java Virtual Machine Specification</a>》定义的有效类文件的格式。<DD><CODE>off</CODE> - 类数据的 <tt>b</tt> 中的起始偏移量<DD><CODE>len</CODE> - 类数据的长度
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -