- 浏览: 753327 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lgh1992314:
a offset: 26b offset: 24c offse ...
java jvm字节占用空间分析 -
ls0609:
语音实现在线听书http://blog.csdn.net/ls ...
Android 语音输入API使用 -
wangli61289:
http://viralpatel-net-tutorials ...
Android 语音输入API使用 -
zxjlwt:
学习了素人派http://surenpi.com
velocity宏加载顺序 -
tt5753:
谢啦........
Lucene的IndexWriter初始化时的LockObtainFailedException的解决方法
软件包 java.lang.management
提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。
ClassLoadingMXBean | 用于 Java 虚拟机的类加载系统的管理接口。 |
CompilationMXBean | 用于 Java 虚拟机的编译系统的管理接口。 |
GarbageCollectorMXBean | 用于 Java 虚拟机的垃圾回收的管理接口。 |
MemoryManagerMXBean | 内存管理器的管理接口。 |
MemoryMXBean | Java 虚拟机的内存系统的管理接口。 |
MemoryPoolMXBean | 内存池的管理接口。 |
OperatingSystemMXBean | 用于操作系统的管理接口,Java 虚拟机在此操作系统上运行。 |
RuntimeMXBean | Java 虚拟机的运行时系统的管理接口。 |
ThreadMXBean | Java 虚拟机线程系统的管理接口。 |
import java.lang.management.ClassLoadingMXBean; import java.lang.management.CompilationMXBean; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.MemoryManagerMXBean; import java.lang.management.MemoryPoolMXBean; import java.lang.management.MemoryUsage; import java.lang.management.OperatingSystemMXBean; import java.lang.management.RuntimeMXBean; import java.lang.management.ThreadMXBean; import java.util.List; import javax.management.MBeanServerConnection; public class MBeanDemo { public static void main(String[] args) { showJvmInfo(); showMemoryInfo(); showSystem(); showClassLoading(); showCompilation(); showThread(); showGarbageCollector(); showMemoryManager(); showMemoryPool(); } /** * Java 虚拟机的运行时系统 */ public static void showJvmInfo() { RuntimeMXBean mxbean = ManagementFactory.getRuntimeMXBean(); String vendor = mxbean.getVmVendor(); System.out.println("jvm name:" + mxbean.getVmName()); System.out.println("jvm version:" + mxbean.getVmVersion()); System.out.println("jvm bootClassPath:" + mxbean.getBootClassPath()); System.out.println("jvm start time:" + mxbean.getStartTime()); } /** * Java 虚拟机的内存系统 */ public static void showMemoryInfo() { MemoryMXBean mem = ManagementFactory.getMemoryMXBean(); MemoryUsage heap = mem.getHeapMemoryUsage(); System.out.println("Heap committed:" + heap.getCommitted() + " init:" + heap.getInit() + " max:" + heap.getMax() + " used:" + heap.getUsed()); } /** * Java 虚拟机在其上运行的操作系统 */ public static void showSystem() { OperatingSystemMXBean op = ManagementFactory.getOperatingSystemMXBean(); System.out.println("Architecture: " + op.getArch()); System.out.println("Processors: " + op.getAvailableProcessors()); System.out.println("System name: " + op.getName()); System.out.println("System version: " + op.getVersion()); System.out.println("Last minute load: " + op.getSystemLoadAverage()); } /** * Java 虚拟机的类加载系统 */ public static void showClassLoading(){ ClassLoadingMXBean cl = ManagementFactory.getClassLoadingMXBean(); System.out.println("TotalLoadedClassCount: " + cl.getTotalLoadedClassCount()); System.out.println("LoadedClassCount" + cl.getLoadedClassCount()); System.out.println("UnloadedClassCount:" + cl.getUnloadedClassCount()); } /** * Java 虚拟机的编译系统 */ public static void showCompilation(){ CompilationMXBean com = ManagementFactory.getCompilationMXBean(); System.out.println("TotalCompilationTime:" + com.getTotalCompilationTime()); System.out.println("name:" + com.getName()); } /** * Java 虚拟机的线程系统 */ public static void showThread(){ ThreadMXBean thread = ManagementFactory.getThreadMXBean(); System.out.println("ThreadCount" + thread.getThreadCount()); System.out.println("AllThreadIds:" + thread.getAllThreadIds()); System.out.println("CurrentThreadUserTime" + thread.getCurrentThreadUserTime()); //......还有其他很多信息 } /** * Java 虚拟机中的垃圾回收器。 */ public static void showGarbageCollector(){ List<GarbageCollectorMXBean> gc = ManagementFactory.getGarbageCollectorMXBeans(); for(GarbageCollectorMXBean GarbageCollectorMXBean : gc){ System.out.println("name:" + GarbageCollectorMXBean.getName()); System.out.println("CollectionCount:" + GarbageCollectorMXBean.getCollectionCount()); System.out.println("CollectionTime" + GarbageCollectorMXBean.getCollectionTime()); } } /** * Java 虚拟机中的内存管理器 */ public static void showMemoryManager(){ List<MemoryManagerMXBean> mm = ManagementFactory.getMemoryManagerMXBeans(); for(MemoryManagerMXBean eachmm: mm){ System.out.println("name:" + eachmm.getName()); System.out.println("MemoryPoolNames:" + eachmm.getMemoryPoolNames().toString()); } } /** * Java 虚拟机中的内存池 */ public static void showMemoryPool(){ List<MemoryPoolMXBean> mps = ManagementFactory.getMemoryPoolMXBeans(); for(MemoryPoolMXBean mp : mps){ System.out.println("name:" + mp.getName()); System.out.println("CollectionUsage:" + mp.getCollectionUsage()); System.out.println("type:" + mp.getType()); } } /** * 访问 MXBean 的方法的三种方法 */ public static void visitMBean(){ //第一种直接调用同一 Java 虚拟机内的 MXBean 中的方法。 RuntimeMXBean mxbean = ManagementFactory.getRuntimeMXBean(); String vendor1 = mxbean.getVmVendor(); System.out.println("vendor1:" + vendor1); //第二种通过一个连接到正在运行的虚拟机的平台 MBeanServer 的 MBeanServerConnection。 MBeanServerConnection mbs = null; // 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); String vendor2 = (String) mbs.getAttribute(oname, "VmVendor"); System.out.println("vendor2:" + vendor2); } catch (Exception e) { e.printStackTrace(); } */ //第三种使用 MXBean 代理 // MBeanServerConnection mbs3 = null; // RuntimeMXBean proxy; // try { // proxy = ManagementFactory.newPlatformMXBeanProxy(mbs3,ManagementFactory.RUNTIME_MXBEAN_NAME, // RuntimeMXBean.class); // String vendor = proxy.getVmVendor(); // } catch (IOException e) { // e.printStackTrace(); // } } }
输出:
jvm name:Java HotSpot(TM) Client VM jvm version:1.6.0-b105 jvm bootClassPath:C:\Program Files\Java\jdk1.6.0\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.6.0\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0\jre\classes jvm start time:1307440032774 Heap committed:5177344 init:0 max:66650112 used:632640 Architecture: x86 Processors: 2 System name: Windows XP System version: 5.1 Last minute load: -1.0 TotalLoadedClassCount: 381 LoadedClassCount381 UnloadedClassCount:0 TotalCompilationTime:3 name:HotSpot Client Compiler ThreadCount5 AllThreadIds:[J@47b480 CurrentThreadUserTime15625000 name:Copy CollectionCount:0 CollectionTime0 name:MarkSweepCompact CollectionCount:0 CollectionTime0 name:CodeCacheManager MemoryPoolNames:[Ljava.lang.String;@1389e4 name:Copy MemoryPoolNames:[Ljava.lang.String;@c20e24 name:MarkSweepCompact MemoryPoolNames:[Ljava.lang.String;@2e7263 name:Code Cache CollectionUsage:null type:Non-heap memory name:Eden Space CollectionUsage:init = 917504(896K) used = 0(0K) committed = 0(0K) max = 4194304(4096K) type:Heap memory name:Survivor Space CollectionUsage:init = 65536(64K) used = 0(0K) committed = 0(0K) max = 458752(448K) type:Heap memory name:Tenured Gen CollectionUsage:init = 4194304(4096K) used = 0(0K) committed = 0(0K) max = 61997056(60544K) type:Heap memory name:Perm Gen CollectionUsage:init = 12582912(12288K) used = 0(0K) committed = 0(0K) max = 67108864(65536K) type:Non-heap memory name:Perm Gen [shared-ro] CollectionUsage:init = 8388608(8192K) used = 0(0K) committed = 0(0K) max = 8388608(8192K) type:Non-heap memory name:Perm Gen [shared-rw] CollectionUsage:init = 12582912(12288K) used = 0(0K) committed = 0(0K) max = 12582912(12288K) type:Non-heap memory
发表评论
-
对字符串进行验证之前先进行规范化
2013-09-17 23:18 13947对字符串进行验证之前先进行规范化 应用系统中经常对字 ... -
使用telnet连接到基于spring的应用上执行容器中的bean的任意方法
2013-08-08 09:17 1471使用telnet连接到基于spring的应用上执行容器中 ... -
jdk7和8的一些新特性介绍
2013-07-06 16:07 10110更多ppt内容请查看:htt ... -
java对于接口和抽象类的代理实现,不需要有具体实现类
2013-06-12 09:50 2952原文链接:http://www.javaarch.net/j ... -
Java EE 7中对WebSocket 1.0的支持
2013-06-05 09:27 3837原文链接:http://www.javaarch.n ... -
Java Web使用swfobject调用flex图表
2013-05-28 19:05 1121Java Web使用swfobject调用 ... -
spring使用PropertyPlaceholderConfigurer扩展来满足不同环境的参数配置
2013-05-21 15:57 3332spring使用PropertyPlaceholderCon ... -
java国际化
2013-05-20 20:57 4473java国际化 本文来自:http://www.j ... -
RSS feeds with Java
2013-05-20 20:52 1214RSS feeds with Java 原文来自:htt ... -
使用ibatis将数据库从oracle迁移到mysql的几个修改点
2013-04-29 10:40 1674我们项目在公司的大战略下需要从oracle ... -
线上机器jvm dump分析脚本
2013-04-19 10:48 2905#!/bin/sh DUMP_PIDS=`p ... -
eclipse远程部署,静态文件实时同步插件
2013-04-06 20:18 5460eclipse 远程文件实时同步,eclipse远程 ... -
java价格处理的一个问题
2013-03-26 21:21 1829我们经常会处理一些价格,比如从运营上传的文件中将某 ... -
java 服务降级开关设计思路
2013-03-23 16:35 3764java 服务屏蔽开关系统,可以手工降级服务,关闭服 ... -
poi解析excel内存溢出
2013-03-20 22:21 6397真是悲剧啊,一个破内部使用系统20多个人使用的后 ... -
简单web安全框架
2013-03-16 11:56 1543web安全框架,主要用servlet filter方 ... -
基于servlet的简单的页面缓存框架
2013-03-11 19:27 1216基于servlet的页面级缓存框架的基本用法: 代码参考: ... -
Eclipse使用过程中出现java.lang.NoClassDefFoundError的解决方案
2013-02-01 17:22 1572如果jdk,classpath设置正确,突然在eclipse ... -
jetty对于包的加载顺序的处理
2013-01-28 22:58 41301.问题 今天在本地和测试环境用jet ... -
hsqldb源码分析系列6之事务处理
2013-01-20 15:20 1706在session的 public Result ...
相关推荐
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类和...
首先,让我们了解一下Java中的`java.lang.management`包,这个包提供了管理和监视Java虚拟机以及操作系统的一些类和接口。通过`OperatingSystemMXBean`接口,我们可以获取到关于操作系统的各种信息,包括CPU使用率。...
17、虚拟机管理:java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 * java.lang.management 是 Java 2 Platform 的一部分,提供了管理接口,用于监视和管理 ...
此外,为了模拟Windows任务管理器的资源监视功能,开发者可能还需要使用到`java.lang.management.MemoryMXBean`和`java.lang.management.ThreadMXBean`,这些接口可以获取内存使用统计和线程信息,帮助用户理解系统...
首先,Java提供了`java.lang.management.ThreadMXBean`接口,它是管理JVM线程的管理接口。通过这个接口,我们可以获取线程的各种信息,包括线程ID、线程名称、线程状态等。线程状态主要有以下几种: 1. 新建(NEW)...
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类和...
对于程序内部的内存监控,Java提供了`java.lang.Runtime`类和`java.lang.management.MemoryMXBean`接口。`Runtime`类允许获取关于当前Java虚拟机的全局信息,如总内存、空闲内存等。而`MemoryMXBean`则提供了更深入...
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类和...
更常见的是使用Java的`java.lang.management`包,该包提供了管理和监视Java虚拟机(JVM)以及操作系统的工具。 具体来说,可以使用`OperatingSystemMXBean`接口,它是`ManagementFactory.getOperatingSystemMXBean...
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...
这些增强主要体现在Java监控和管理API(Management API)的扩展、图形化工具JConsole的正式支持,以及Java虚拟机(JVM)测试工具的升级。 首先,Java SE 5 的`java.lang.management`包通过定义9个MXBeans(管理扩展...