package-summary.html
来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 443 行 · 第 1/2 页
HTML
443 行
</tr><tr><td> <tt><A HREF="MemoryManagerMXBean.html" title="java.lang.management 中的接口"><CODE>MemoryManagerMXBean</CODE></A></tt> </td><td> Java 虚拟机中的内存管理器。</td></tr><tr><td> <tt><A HREF="MemoryPoolMXBean.html" title="java.lang.management 中的接口"><CODE>MemoryPoolMXBean</CODE></A></tt> </td><td> Java 虚拟机中的内存池。</td></tr></table></blockquote><p>平台 MXBean 是一种<i>托管 Bean</i>,它定义平台一个组件的管理接口,在 <a href="java.lang.management.ManagementFactory.html#MXBean">ManagementFactory</a> 类中定义。<p>应用程序可以采用以下方式监视 Java 虚拟机的监测和管理特定的特征:<ul><li><i>直接访问 MXBean 接口</i> <ol type="a"> <li>通过静态工厂方法获得 MXBean 实例,从本地访问正在运行的虚拟机的 MXBean 接口。</li> <li>构造 MXBean 代理实例,通过调用 <A HREF="ManagementFactory.html#newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class)"><CODE>ManagementFactory.newPlatformMXBeanProxy</CODE></A> 将方法调用转发到给定的 <CODE>MBeanServer</CODE>。代理通常构造为远程访问另一个正在运行的虚拟机的 MXBean。</li> </ol></li><li><i>通过 <CODE>MBeanServer</CODE> 接口间接访问</i> <ol type="a"> <li>通过 <A HREF="ManagementFactory.html#getPlatformMBeanServer()"><CODE>platform MBeanServer</CODE></A> 从本地访问 MXBean 或通过特定的 <tt>MBeanServerConnection</tt> 远程访问 MXBean。MXBean 的属性和操作仅使用 <em>JMX 开放类型</em>,包括在 <CODE>OpenType</CODE> 中的定义的基本数据类型、<CODE>CompositeData</CODE> 和 <CODE>TabularData</CODE>。 </li> </ol></li></ul>以下给出了一些采用不同方式访问 MXBean 的<a href="#examples">示例</a>。<h4>ManagementFactory</h4><A HREF="ManagementFactory.html" title="java.lang.management 中的类"><CODE>ManagementFactory</CODE></A> 类是 Java 平台的管理工厂类。此类提供了一组静态工厂方法,用以获得 Java 平台的 MXBean,从而允许应用程序直接访问 MXBean。<p>使用 <A HREF="ManagementFactory.html#getPlatformMBeanServer()"><CODE>getPlatformMBeanServer</CODE></A> 方法可以访问<em>平台 MBeanServer</em>。第一次调用此方法时,它将创建平台 MBeanServer 并注册所有的平台 MXBean,包括在其他包(如 <A HREF="../../util/logging/LoggingMXBean.html" title="java.util.logging 中的接口"><CODE>LoggingMXBean</CODE></A>)中定义的平台 MXBean。每个平台 MXBean 均使用用于构造 <CODE>ObjectName</CODE> 的 <A HREF="ManagementFactory.html" title="java.lang.management 中的类"><CODE>ManagementFactory</CODE></A> 类中定义的惟一名称进行注册。这是惟一可以由在相同 Java 虚拟机内运行的不同托管组件共享的 MBeanServer。 <h4>互操作性</h4>管理应用程序和正在运行的虚拟机的平台 MBeanServer 可以进行互操作,而无需平台 MXBean 接口使用的类。JMX 连接器服务器和连接器客户端之间传送的数据类型为 JMX <CODE>开放类型</CODE>,这就允许跨版本的互操作。<p>当通过 MBeanServer 接口进行访问时,MXBean 接口使用的数据类型将映射为开放类型。数据类型映射在 <A HREF="ManagementFactory.html" title="java.lang.management 中的类"><CODE>ManagementFactory</CODE></A> 类中指定。<h4><a name="examples">访问 MXBean 的方法</a></h4>有三种访问管理接口的方法。 <p><ol><li>直接调用同一 Java 虚拟机内的 MXBean 中的方法。<blockquote><pre> RuntimeMXBean mxbean = ManagementFactory.getRuntimeMXBean(); // Get the standard attribute "VmVendor" String vendor = mxbean.getVmVendor();</pre></blockquote></li><li>通过一个连接到正在运行的虚拟机的<tt>平台 MBeanServer</tt> 的 <tt>MBeanServerConnection</tt>。</li><blockquote><pre> MBeanServerConnection mbs; // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MXBeans registered in it ... try { // Assuming the RuntimeMXBean has been registered in mbs ObjectName oname = new ObjectName(ManagementFactory.RUNTIME_MXBEAN_NAME); // Get standard attribute "VmVendor" String vendor = (String) mbs.getAttribute(oname, "VmVendor"); } catch (....) { // Catch the exceptions thrown by ObjectName constructor // and MBeanServer.getAttribute method ... }</pre></blockquote><li>使用 MXBean 代理。</li><blockquote><pre> MBeanServerConnection mbs; // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MBeans registered in it ... // Get a MBean proxy for RuntimeMXBean interface RuntimeMXBean proxy = ManagementFactory.newPlatformMXBeanProxy(mbs, ManagementFactory.RUNTIME_MXBEAN_NAME, RuntimeMXBean.class); // Get standard attribute "VmVendor" String vendor = proxy.getVmVendor();</pre></blockquote></ol><h4><a name="extension">平台扩展</a></h4>Java 虚拟机实现通过定义与平台有关的接口(它扩展了标准管理接口,以包括特定于平台的规格和管理操作),可以将其平台扩展添加到管理接口。<tt>ManagementFactory</tt> 类中的静态工厂方法将返回具有平台扩展的 MBean。<p>建议使用特定于供应商的前缀(如供应商的名称)对特定于平台的属性进行命名,以避免标准管理接口的未来扩展与平台扩展之间的属性名称冲突。如果标准管理接口的未来扩展为管理接口定义了一个新属性,而该属性名称碰巧与某个特定于供应商的属性的名称相同,则必须修改访问该特定于供应商的属性的应用程序,以处理版本控制和兼容性问题。<p>以下示例演示了如何访问 Sun 的 <tt>RuntimeMXBean</tt> 实现中的特定于平台的属性。<p>1) 直接访问特定于 Sun 的 MXBean 接口<blockquote><pre> com.sun.management.RuntimeMXBean mxbean = (com.sun.management.RuntimeMXBean) ManagementFactory.getRuntimeMXBean(); // Get the standard attribute "VmVendor" String vendor = mxbean.getVmVendor(); // Get the platform-specific attribute "Bar" BarType bar = mxbean.getBar();</pre></blockquote><p>2) 通过 <tt>MBeanServer</tt> 访问特定于 Sun 的 MXBean 接口<blockquote><pre> MBeanServerConnection mbs; // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MXBeans registered in it ... try { // Assuming the RuntimeMXBean has been registered in mbs ObjectName oname = new ObjectName(ManagementFactory.RUNTIME_MXBEAN_NAME); // Get standard attribute "VmVendor" String vendor = (String) mbs.getAttribute(oname, "VmVendor"); // Check if this MXBean contains Sun's extension if (mbs.isInstanceOf(oname, "com.sun.management.RuntimeMXBean")) { // Get platform-specific attribute "Bar" BarType bar = (String) mbs.getAttribute(oname, "Bar"); } } catch (....) { // Catch the exceptions thrown by ObjectName constructor // and MBeanServer methods ... }</pre></blockquote><p> 除非另有说明,向此包的任何类或接口中的构造方法或方法传递 <tt>null</tt> 变量,将会抛出 <A HREF="../NullPointerException.html" title="java.lang 中的类"><CODE>NullPointerException</CODE></A>。<P><P><DL><DT><B>从以下版本开始:</B></DT> <DD>1.5</DD><DT><B>另请参见:</B><DD><a href="../../../javax/management/package-summary.html">JMX Specification.</a></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="../instrument/package-summary.html"><B>上一个软件包</B></A> <A HREF="../ref/package-summary.html"><B>下一个软件包</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html@java_2Flang_2Fmanagement_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 + -
显示快捷键?