首页 > 代码库 > Java千百问_09基础类库(004)_java.lang.management包有什么功能

Java千百问_09基础类库(004)_java.lang.management包有什么功能

点击进入_更多_Java千百问-基础类库

1、java.lang.management包有什么功能

java.lang.management包提供了全面的监控和管理工具,包括JVM的监管API、监管API日志、jconsole和其他监控工具、out-of-the-box的监管工具(开箱即用)、Java管理扩展平台(JMX)等等。sun在sun.management中提供了对应的实现类。主要类如下图:

技术分享?

下面介绍java.lang.management中的类:

  1. 管理接口
    PlatformManagedObject,平台管理对象的接口,是JMX MXBean监视管理平台的核心组件。每个平台管理对象都要实现这个接口。
    BufferPoolMXBean,缓冲池管理接口,可以管理和监控缓冲池,direct或mapped两类缓冲池。
    ClassLoadingMXBean,类加载管理接口,可以管理和监控Java虚拟机的类加载系统。
    CompilationMXBean,编译管理接口,可以管理和监控Java虚拟机的编译系统。
    GarbageCollectorMXBean,垃圾回收管理接口,可以管理和监控用于Java虚拟机的垃圾回收。
    MemoryManagerMXBean,内存/内存池基本信息管理接口,可以管理和监控用于Java虚拟机内存/内存池的基本信息。
    MemoryMXBean,内存信息管理接口,可以管理和监控Java虚拟机的内存信息。
    MemoryPoolMXBean,内存池管理接口,可以管理和监控Java虚拟机内存池的使用。
    OperatingSystemMXBean,操作系统管理接口,可以管理和监控Java虚拟机所运行操作系统的信息。
    PlatformLoggingMXBean,日志管理接口,可以管理和监控Java虚拟机的日志。
    RuntimeMXBean,运行时系统管理接口,可以管理和监控Java虚拟机运行的情况。
    ThreadMXBean,线程管理接口,可以管理和监控Java虚拟机的线程。

  2. 管理工厂
    ManagementFactory,MXBean的工厂类,MXBean是通过工厂模式进行管理的,通过该工厂获取对应的MXBean。

  3. 信息体
    LockInfo、MonitorInfo,锁的信息类,LockInfo可以是任何的Java锁(包括简单Java锁和java.util.concurrent包中所使用的锁: AbstractOwnableSynchronizer和Condition的实现类/子类),而MonitorInfo是简单的Java对象所代表的锁。
    MemoryNotificationInfo,内存通知的信息类。
    MemoryUsage,内存快照的信息类,通过MemoryMXBean、MemoryPoolMXBean内存管理接口可以获取到内存快照的信息。
    ThreadInfo,线程的信息类,通过ThreadMXBean线程管理接口可以获取到线程的信息。

  4. 管理权限
    ManagementPermission,权限管理类,一般不会手动创建,而是由安全策略文件创建。

了解java.lang.management包使用看这里:[java.lang.management包如何使用][2]

[2]:

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    Java千百问_09基础类库(004)_java.lang.management包有什么功能