在Java SE 6中监视和诊断性能问题(上)

发表于:2010-6-11 10:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
java
#
Java

  Java SE 6 对性能进行了深入研究,使用增强的工具管理和监视应用程序并且诊断常见问题。这些改进包括:

  监视和管理 API 增强
  正式支持增强的图形监视工具 JConsole
  提供增强的 Java 虚拟机(JVM)测试工具

  本文介绍了 Java SE 平台的监视和管理基本知识,并详细介绍了最新版本中的性能监视和管理增强。还介绍了 Java SE 6 平台提供的诊断和故障排除工具。

  要从本文获益,您应当非常熟悉较早 Java SE 版本中引入的监视和管理功能。更多背景信息,请参阅 参考资料。

  监视和管理 API

  Java SE 5 中引入的 java.lang.management 包定义了 9 个 MBean,称为平台 MBean 或 MXBean(请参阅 参考资料)。每个 MXBean 封装了 JVM 的一个单独的功能区。从 Java SE 5 开始,JVM 包含了一个内置的 MBean 服务器,称为平台 MBean 服务器。MBeans 位于其中并由其管理。表 1 列出了 Java 平台中的 9 个 MXBeans:

  表 1. 平台 MBean

管理接口

托管的资源

ClassLoadingMXBean

类装载器

CompilationMXBean

编译器

MemoryMXBean

内存

ThreadMXBean

线程

RuntimeMXBean

运行时

OperatingSystemMXBean

操作系统

GarbageCollectorMXBean

垃圾收集器

MemoryManagerMXBean

内存管理器

MemoryPoolMXBean

内存池

  任何应用程序都可获得并使用 JVM 提供的平台 MBean,方法是获得目标 bean 的实例并调用合适的方法。MXBean 可用来监视本地和远程 JVM 的行为并获得相关信息。

  平台 MBean 可提供对信息的访问,例如装载的类的数量、JVM 正常运行时间、内存消耗量、正在运行的线程的数量,以及线程竞争统计信息。

  您可以使用以下两种方式之一监视和管理 JVM 资源:

  直接访问 MXBean 接口
  使用 MBeanServer 接口进行间接访问
  使用 MXBean 接口直接访问

  您可以从一个静态工厂方法获得一个 MXBean 实例,该方法可以使您直接访问本地运行的 JVM 的 MXBean 接口。ManagementFactory 类提供静态工厂方法获得 MXBean。清单 1 演示了如何使用该工厂获得 RuntimeMXBean 并获得其中一个标准属性 VmVendor 的值:

  清单 1. 直接访问 MXBean

RuntimeMXBean mxbean = ManagementFactory.getRuntimeMXBean();
// Get the standard attribute "VmVendor"
String vendor = mxbean.getVmVendor();

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号