mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-07 10:06:53 +08:00
186 lines
13 KiB
HTML
186 lines
13 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.management.loading
|
||
</div>
|
||
<h2 class="title" title="Interface ClassLoaderRepository">Interface ClassLoaderRepository</h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre>public interface <span class="typeNameLabel">ClassLoaderRepository</span></pre>
|
||
<div class="block">
|
||
<p> <span>此接口的实例用于保留在MBean服务器中注册的ClassLoaders列表。</span> <span>它们提供了使用注册的ClassLoaders加载类的必要方法。</span> </p>
|
||
<p> <span>ClassLoaderRepository中的第一个<code>ClassLoaderRepository</code>始终是MBean服务器自己的ClassLoader。</span> </p>
|
||
<p> <span>当一个MBean在MBean服务器中注册时,如果它是<a href="../../../java/lang/ClassLoader.html" title="java.lang中的类"><code>ClassLoader</code></a>的子类,并且如果没有实现接口<a href="../../../javax/management/loading/PrivateClassLoader.html" title="javax.management.loading中的接口"><code>PrivateClassLoader</code></a> ,则将其添加到MBean Server <code>ClassLoaderRepository</code>的<code>ClassLoaderRepository</code> 。</span> <span>如果随后从MBean服务器注销,它是从去除<code>ClassLoaderRepository</code> 。</span> </p>
|
||
<p> <span><code>ClassLoaderRepository</code>中的MBean的<code>ClassLoaderRepository</code>是重要的。</span> <span>对于<code>ClassLoaderRepository</code>中的任何两个MBean <em>X</em>和<em>Y</em> ,如果<em>X</em>的注册在<em>Y的注册</em>开始之前<code>ClassLoaderRepository</code> , <em>X</em>必须出现在<em>Y</em>之前。</span> <span>如果<em>X</em>和<em>Y</em>同时注册,其顺序是不确定的。</span> <span>一个MBean的注册对应于所述呼叫到<a href="../../../javax/management/MBeanServer.html#registerMBean-java.lang.Object-javax.management.ObjectName-"><code>MBeanServer.registerMBean(java.lang.Object, javax.management.ObjectName)</code></a>或的一个<a href="../../../javax/management/MBeanServer.html" title="javax.management中的接口"><code>MBeanServer</code>种</a> <code>.createMBean</code>方法。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.5
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/management/MBeanServerFactory.html" title="javax.management中的类"><code>MBeanServerFactory</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<td class="colFirst"><code><a href="../../../java/lang/Class.html" title="class in java.lang">类</a><?></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/loading/ClassLoaderRepository.html#loadClass-java.lang.String-">loadClass</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> className)</code>
|
||
<div class="block">
|
||
通过类加载器列表加载给定的类名。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code><a href="../../../java/lang/Class.html" title="class in java.lang">类</a><?></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/loading/ClassLoaderRepository.html#loadClassBefore-java.lang.ClassLoader-java.lang.String-">loadClassBefore</a></span>(<a href="../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> stop, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> className)</code>
|
||
<div class="block">
|
||
通过加载器列表加载给定的类名,停止在给定的类名称。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code><a href="../../../java/lang/Class.html" title="class in java.lang">类</a><?></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/loading/ClassLoaderRepository.html#loadClassWithout-java.lang.ClassLoader-java.lang.String-">loadClassWithout</a></span>(<a href="../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> exclude, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> className)</code>
|
||
<div class="block">
|
||
通过类加载器列表加载给定的类名,不包括给定的类名。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="details">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="loadClass-java.lang.String-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>loadClass</h4> <pre><a href="../../../java/lang/Class.html" title="class in java.lang">类</a><?> loadClass(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> className)
|
||
throws <a href="../../../java/lang/ClassNotFoundException.html" title="class in java.lang">ClassNotFoundException</a></pre>
|
||
<div class="block">
|
||
<p> <span>通过类加载器列表加载给定的类名。</span> <span>要求ClassLoaderRepository中的每个ClassLoader通过其<a href="../../../java/lang/ClassLoader.html#loadClass-java.lang.String-"><code>ClassLoader.loadClass(String)</code></a>方法加载该类。</span> <span>如果它成功返回一个<a href="../../../java/lang/Class.html" title="java.lang中的类"><code>类</code></a>对象,那就是这个方法的结果。</span> <span>如果它抛出一个<a href="../../../java/lang/ClassNotFoundException.html" title="java.lang中的类"><code>ClassNotFoundException</code></a> ,搜索继续下一个ClassLoader。</span> <span>如果它引发另一个异常,则从该方法传播异常。</span> <span>如果达到列表的<a href="../../../java/lang/ClassNotFoundException.html" title="java.lang中的类">末尾</a> ,则会抛出一个<a href="../../../java/lang/ClassNotFoundException.html" title="java.lang中的类"><code>ClassNotFoundException</code></a> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>className</code> - 要加载的类的名称。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
加载类。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/ClassNotFoundException.html" title="class in java.lang">ClassNotFoundException</a></code> - 找不到指定的类。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="loadClassWithout-java.lang.ClassLoader-java.lang.String-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>loadClassWithout</h4> <pre><a href="../../../java/lang/Class.html" title="class in java.lang">类</a><?> loadClassWithout(<a href="../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> exclude,
|
||
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> className)
|
||
throws <a href="../../../java/lang/ClassNotFoundException.html" title="class in java.lang">ClassNotFoundException</a></pre>
|
||
<div class="block">
|
||
<p> <span>通过类加载器列表加载给定的类名,不包括给定的类名。</span> <span>来自ClassLoaderRepository的除了<code>exclude</code>之外的每个ClassLoader都被要求通过其<a href="../../../java/lang/ClassLoader.html#loadClass-java.lang.String-"><code>ClassLoader.loadClass(String)</code></a>方法加载该类。</span> <span>如果它成功返回一个<a href="../../../java/lang/Class.html" title="java.lang中的类"><code>类</code></a>对象,那就是这个方法的结果。</span> <span>如果它抛出一个<a href="../../../java/lang/ClassNotFoundException.html" title="java.lang中的类"><code>ClassNotFoundException</code></a> ,继续搜索下一个ClassLoader。</span> <span>如果它引发另一个异常,则从该方法传播异常。</span> <span>如果达到列表的末尾,则抛出一个<a href="../../../java/lang/ClassNotFoundException.html" title="java.lang中的类"><code>ClassNotFoundException</code></a> 。</span> </p>
|
||
<p> <span>请注意,如果ClassLoaderRepository中的ClassLoader从其<a href="../../../java/lang/ClassLoader.html#loadClass-java.lang.String-"><code>loadClass</code></a>方法调用此方法,则如果ClassLoaderRepository中的另一个ClassLoader在同一时间执行相同操作,则会将其暴露为死锁。</span> <span>建议使用<a href="../../../javax/management/loading/ClassLoaderRepository.html#loadClassBefore-java.lang.ClassLoader-java.lang.String-"><code>loadClassBefore(java.lang.ClassLoader, java.lang.String)</code></a>方法以避免死锁的危险。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>className</code> - 要加载的类的名称。
|
||
</dd>
|
||
<dd>
|
||
<span><code>exclude</code> - 要排除的类加载器。</span>
|
||
<span>可能为null,在这种情况下,此方法相当于<a href="../../../javax/management/loading/ClassLoaderRepository.html#loadClass-java.lang.String-"><code>loadClass(className)</code></a> 。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
加载类。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/ClassNotFoundException.html" title="class in java.lang">ClassNotFoundException</a></code> - 找不到指定的类。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="loadClassBefore-java.lang.ClassLoader-java.lang.String-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>loadClassBefore</h4> <pre><a href="../../../java/lang/Class.html" title="class in java.lang">类</a><?> loadClassBefore(<a href="../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> stop,
|
||
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> className)
|
||
throws <a href="../../../java/lang/ClassNotFoundException.html" title="class in java.lang">ClassNotFoundException</a></pre>
|
||
<div class="block">
|
||
<p> <span>通过加载器列表加载给定的类名,停止在给定的类名称。</span> <span>要求ClassLoaderRepository中的每个ClassLoader通过其<a href="../../../java/lang/ClassLoader.html#loadClass-java.lang.String-"><code>ClassLoader.loadClass(String)</code></a>方法加载该类。</span> <span>如果它成功返回一个<a href="../../../java/lang/Class.html" title="java.lang中的类"><code>类</code></a>对象,那就是这个方法的结果。</span> <span>如果它抛出一个<a href="../../../java/lang/ClassNotFoundException.html" title="java.lang中的类"><code>ClassNotFoundException</code></a> ,搜索继续下一个ClassLoader。</span> <span>如果它引发另一个异常,则从该方法传播异常。</span> <span>如果搜索到达<code>stop</code>或列表的<a href="../../../java/lang/ClassNotFoundException.html" title="java.lang中的类">末尾</a> ,则会抛出一个<a href="../../../java/lang/ClassNotFoundException.html" title="java.lang中的类"><code>ClassNotFoundException</code></a> 。</span> </p>
|
||
<p> <span>通常,这种方法是从所谓<a href="../../../java/lang/ClassLoader.html#loadClass-java.lang.String-"><code>loadClass</code></a>的方法<code>stop</code> ,咨询,在出现在它之前装载机<code>ClassLoaderRepository</code> 。</span> <span>通过达到<code>stop</code>停止搜索,避免了并发类加载的潜在死锁。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>className</code> - 要加载的类的名称。
|
||
</dd>
|
||
<dd>
|
||
<span><code>stop</code> - 要停止的类加载器。</span>
|
||
<span>可能为null,在这种情况下,此方法相当于<a href="../../../javax/management/loading/ClassLoaderRepository.html#loadClass-java.lang.String-"><code>loadClass(className)</code></a> 。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
加载类。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/ClassNotFoundException.html" title="class in java.lang">ClassNotFoundException</a></code> - 找不到指定的类。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |