package-summary.html
来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 262 行
HTML
262 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.5.0_03) on Wed Nov 02 09:52:27 CST 2005 --><META http-equiv="Content-Type" content="text/html; charset=gb2312"><TITLE>java.lang.instrument (Java 2 Platform SE 5.0)</TITLE><META NAME="keywords" CONTENT="java.lang.instrument package"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="java.lang.instrument (Java 2 Platform SE 5.0)";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="跳过导航链接"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>软件包</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">类</FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>使用</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Java<sup><font size=-2>TM</font></sup> 2 Platform<br>Standard Ed. 5.0</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../annotation/package-summary.html"><B>上一个软件包</B></A> <A HREF="../management/package-summary.html"><B>下一个软件包</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html@java_2Flang_2Finstrument_2Fpackage-summary.html" target="_top"><B>框架</B></A> <A HREF="package-summary.html" target="_top"><B>无框架</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>所有类</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>所有类</B></A></NOSCRIPT></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><H2>软件包 java.lang.instrument</H2>提供允许 Java 编程语言代理监测运行在 JVM 上的程序的服务。<P><B>请参见:</B><BR> <A HREF="#package_description"><B>描述</B></A><P><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>接口摘要</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD WIDTH="15%"><B><A HREF="ClassFileTransformer.html" title="java.lang.instrument 中的接口">ClassFileTransformer</A></B></TD><TD>代理提供此接口的实现,以便转换类文件。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD WIDTH="15%"><B><A HREF="Instrumentation.html" title="java.lang.instrument 中的接口">Instrumentation</A></B></TD><TD>此类提供检测 Java 编程语言代码所需的服务。</TD></TR></TABLE> <P><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>类摘要</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD WIDTH="15%"><B><A HREF="ClassDefinition.html" title="java.lang.instrument 中的类">ClassDefinition</A></B></TD><TD>此类用作 <code>Instrumentation.redefineClasses</code> 方法的参数锁定。</TD></TR></TABLE> <P><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>异常摘要</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD WIDTH="15%"><B><A HREF="IllegalClassFormatException.html" title="java.lang.instrument 中的类">IllegalClassFormatException</A></B></TD><TD>当其输入参数无效时,由 <A HREF="ClassFileTransformer.html#transform(java.lang.ClassLoader, java.lang.String, java.lang.Class, java.security.ProtectionDomain, byte[])"><CODE>ClassFileTransformer.transform</CODE></A> 的实现抛出该异常。</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD WIDTH="15%"><B><A HREF="UnmodifiableClassException.html" title="java.lang.instrument 中的类">UnmodifiableClassException</A></B></TD><TD>在无法修改指定类之一时,由 <A HREF="Instrumentation.html#redefineClasses(java.lang.instrument.ClassDefinition[])"><CODE>Instrumentation.redefineClasses</CODE></A> 的实现抛出此异常。</TD></TR></TABLE> <P><A NAME="package_description"><!-- --></A><H2>软件包 java.lang.instrument 的描述</H2><P>提供允许 Java 编程语言代理监测运行在 JVM 上的程序的服务。监测的机制是对方法的字节码的修改。<h2>包规范</h2><P>在启动 JVM 时,通过指示<i>代理类</i> 及其<i>代理选项</i> 启动一个代理程序。<P>该代理类必须实现公共的静态 <code>premain</code> 方法,该方法原理上类似于 <code>main</code> 应用程序入口点:<blockquote><code>public static void premain(String agentArgs, Instrumentation inst);</code></blockquote><P>JVM 被初始化之后,每个 <code>premain</code> 方法将按照指定代理的顺序被调用。然后,调用实际的应用程序 <code>main</code> 方法。每个 <code>premain</code> 方法必须按顺序返回,以便启动序列能够继续。代理类将由加载包含应用程序 <code>main</code> 方法的类的同一类加载器加载。<code>premain</code> 方法将在与应用程序 <code>main</code> 方法相同的安全性和类加载器规则下运行。不存在代理 <code>premain</code> 方法可以执行的建模限制。应用程序 <code>main</code> 可以执行的任何事情(包括生成线程)从 <code>premain</code> 来看都是合法的。<P>每个代理程序通过 <code>agentArgs</code> 参数传递其代理选项。代理选项作为单个字符串传递,任何其他分析应由代理程序本身执行。<P>如果该代理程序不能被解析(例如,由于无法加载代理类,或由于代理类没有一致的 <code>premain</code> 方法),则 JVM 将中止。如果 <code>premain</code> 方法抛出未捕获的异常,则 JVM 将中止。<h2>命令行接口</h2>在带有命令行接口的 JVM 上,通过向 JVM 命令行添加此开关来指定代理程序:<blockquote><code><b>-javaagent:</b></code><i>jarpath[</i><code><b>=</b></code><i>options]</i></blockquote><i>jarpath</i> 是指向代理程序 JAR 文件的路径。<i>options</i> 是代理选项。此开关可以在同一命令行上多次使用,从而创建多个代理程序。多个代理程序可以使用同一 <i>jarpath</i>。代理 JAR 文件必须符合 JAR 文件规范。下面的清单属性是针对代理 JAR 文件定义的:<blockquote><dl><dt><code>Premain-Class</dt><dd>代理类。即包含 <code>premain</code> 方法的类。此属性是必需的,如果它不存在,JVM 将中止。注:这是类名,而不是文件名或路径。</dd><dt><code>Boot-Class-Path</dt><dd>由引导类加载器搜索的路径列表。路径表示目录或库(在许多平台上通常作为 jar 或 zip 库被引用)。查找类的特定于平台的机制出现故障之后,引导类加载器会搜索这些路径。按列出的顺序搜索路径。列表中的路径由一个或多个空格分开。路径使用分层 URI 的路径组件的语法。如果该路径以斜杠字符(“/”)开头,则为绝对路径,否则为相对路径。相对路径根据代理 JAR 文件的绝对路径解析。忽略格式不正确的路径和不存在的路径。此属性是可选的。</dd><dt><code>Can-Redefine-Classes</dt><dd>布尔值(<code>true</code> 或 <code>false</code>,与大小写无关)。能够重定义此代理所需的类。值如果不是 <code>true</code>,则被认为是 <code>false</code>。此属性是可选的,默认值为 <code>false</code>。</dd></dl></blockquote>代理 JAR 文件附加到类路径之后。<h2>相关文档</h2>有关工具文档的信息,请参阅:<ul> <li><a href="../../../../tooldocs/index.html">JDK Tools and Utilities</a></ul><P><P><DL><DT><B>从以下版本开始:</B></DT> <DD>JDK1.5</DD></DL><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" title="跳过导航链接"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>概述</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>软件包</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">类</FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>使用</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>树</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>已过时</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>索引</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>帮助</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Java<sup><font size=-2>TM</font></sup> 2 Platform<br>Standard Ed. 5.0</b></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../annotation/package-summary.html"><B>上一个软件包</B></A> <A HREF="../management/package-summary.html"><B>下一个软件包</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html@java_2Flang_2Finstrument_2Fpackage-summary.html" target="_top"><B>框架</B></A> <A HREF="package-summary.html" target="_top"><B>无框架</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>所有类</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>所有类</B></A></NOSCRIPT></FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR><font size="-1"><a href="../../../../../../../../../java.sun.com/cgi-bin/bugreport.cgi">提交错误或意见</a><br>有关更多的 API 参考资料和开发人员文档,请参阅 <a href="../../../../../../../../../java.sun.com/j2se/1.5.0/docs/relnotes/devdocs-vs-specs.html">Java 2 SDK SE 开发人员文档</a>。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。 <p>版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守<a href="../../../../../../../../../java.sun.com/j2se/1.5.0/docs/relnotes/license.html">许可证条款</a>。另请参阅<a href="../../../../../../../../../java.sun.com/docs/redist.html">文档重新分发政策</a>。</font></BODY></HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?